Skip to main content
Log in

Explanations in Software Engineering: The Pragmatic Point of View

  • Published:
Minds and Machines Aims and scope Submit manuscript

Abstract

This article reveals that explanatory practice in software engineering is in accordance with pragmatic explanatory pluralism, which states that explanations should at least partially be evaluated by their practical use. More specifically, I offer a defense of the idea that several explanation-types are legitimate in software engineering, and that the appropriateness of an explanation-type depends on (a) the engineer’s interests, and (b) the format of the explanation-seeking question he asks, with this format depending on his interests. This idea is defended by considering examples that are representative for explanatory practice in software engineering. Different kinds of technological explanation are spelled out, and the dependence of their appropriateness on interests and question-formats is extensively illustrated.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Scheme 1
Scheme 2
Scheme 3

Similar content being viewed by others

Notes

  1. P and P′ are mutually exclusive properties.

  2. I consider an explanation-type to be legitimate if there is at least one interest that is best served by an explanation of that type.

  3. An algorithm that can be used to shuffle the games, is Knuth’s modern version of the Fisher-Yates algorithm (Radu 2008).

  4. The explanation can be reformulated into: The program has, at this moment t 1, the property of never generating a new schedule when the ‘generate schedule’ button is pressed, while at time t 2, it had the property of generating a new schedule if (1) the ‘generate schedule’ button was pressed and (2) all games on the schedule were finished, because at t 2, it had the property of containing a program line that leads to the shift of V’s value when the last game on the schedule is finished, while this property is absent at t 1.

  5. The fact that a T-contrast explanation helps the explainer to answer a P-contrast question, does not mean that a P-contrast explanation is in itself insufficient to answer such a question. The P-contrast explanation is a complete answer to the P-contrast question, and this answer should not contain any additional information. The T-contrast explanation is the preferential and complete answer in another context, that is, when a T-contrast question is under consideration.

  6. Seven days is the minimum of days in a schedule, since each team has to play seven games (see Scheme 1b), and a team cannot play more than one game per day (second condition). The fact that a schedule containing 7 days is possible, is shown by Schedule a.

  7. Each day should contain three games. We know this because 21 games (see Scheme 1b) should be distributed over 7 days (see previous note), and 1 day cannot contain more than three games. If there would be more than three games (each between two teams) on a day, there should be more than six teams, since one team cannot play more than one game per day (second condition), and this is not the case (see Scheme 1a).

  8. All games other than A–F could not complete the second day because they contain teams that already had a game to play on the second day. A–F could not complete the second day either, because it was added to the first day, and interconference games should appear only once on the schedule.

  9. Notice that by answering this question, one also answers the original, non-refined P-contrast question.

References

  • De Langhe, R. (2009). Trading off explanatory virtues. In E. Weber, T. Libert, P. Marage, & G. Vanpaemel (Eds.), Logic, philosophy and history of science in Belgium. Proceedings of the young researchers days 2008. Brussels: Koninklijke Vlaamse Academie van België (forthcoming).

  • De Ridder, J. (2007). Reconstructing design, explaining artifacts. Dissertation, University of Technology, Delft.

  • Kroes, P. (1998). Technological explanations: The relation between structure and function of technological objects. Technè, 3(3), 18–34.

    Google Scholar 

  • Mackie, J. (1974). The cement of the universe: A study of causation. Oxford: Clarendon Press.

    Google Scholar 

  • Pettit, P. (1996). The common mind. New York: Oxford University Press.

    Book  Google Scholar 

  • Pitt, J. C. (2001). What engineers know. Techné, 5(3), 17–30.

    Google Scholar 

  • Radu, S. (2008). The Fisher-Yates shuffle algorithm. Paper presented at the mini conference on computing algorithms, Bryn Mawr.

  • Tauro, T., & Kubota, A. (1999). A study on engineering history base. Research in Engineering Design, 11(1), 45–54.

    Article  Google Scholar 

  • Van Bouwel, J., & Weber, E. (2002). Remote causes, bad explanations. Journal for the Theory of Social Behaviour, 32(4), 437–449.

    Article  Google Scholar 

  • Van Bouwel, J., & Weber, E. (2008). A pragmatist defense of non-relativistic explanatory pluralism in history and social science. History & Theory, 47(2), 168–182.

    Article  Google Scholar 

  • Van Fraassen, B. C. (1980). The scientific image. Oxford: Clarendon Press.

    Book  Google Scholar 

  • Weber, E. (1999). Unification: What is it, how do we reach it and why do we want it? Synthese, 118(3), 479–499.

    Article  MathSciNet  Google Scholar 

  • Weber, E., & Van Bouwel, J. (2002). Symposium on explanations and social ontology 3: Can we dispense with structural explanations of social facts? Economics and Philosophy, 18(2), 261–277.

    Article  Google Scholar 

  • Weber, E., Van Bouwel, J., & Vanderbeeken, R. (2005). Forms of causal explanation. Foundations of Science, 10(4), 437–454.

    Article  Google Scholar 

  • Weber, E., & Vanderbeeken, R. (2005). The functions of intentional explanations of actions. Behavior and Philosophy, 33, 1–16.

    Google Scholar 

Download references

Acknowledgments

This research was supported by subventions from the Research Foundation—Flanders through research project 3G003109. I am very grateful to Erik Weber and Jeroen Van Bouwel for helping me to improve this paper. Special thanks to Dries De Winter, for guiding me into the world of computer programming, and for reviewing this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jan De Winter.

Rights and permissions

Reprints and permissions

About this article

Cite this article

De Winter, J. Explanations in Software Engineering: The Pragmatic Point of View. Minds & Machines 20, 277–289 (2010). https://doi.org/10.1007/s11023-010-9190-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11023-010-9190-2

Keywords

Navigation