Abstract
There appear to be two fundamentally different notions of program correctness that emanate from two different notions of program: the mathematical correctness of abstract programs and the empirical correctness of their implemented physical manifestations [2, 16, 17]. In the abstract case, a program is taken to be correct when it meets its specification. This is a mathematical affair with all the precision and clarity that follows. But physical correctness raises some concerns and puzzles that have their origins in Putnam’s notion of physical computation [15]. Moreover, these concerns would appear to effect the mathematical case. Comparing the two cases will draw out some underling philosophical issues in the traditional approaches to correctness. In particular, we examine the different concepts of explanation that accompany the different notions of correctness, and expose the underlying role of agency in both.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
[6] addresses the relationship between the physical and the abstract in terms of levels of abstraction.
References
Chalmers, D.: Does a rock implement every finite-state automaton? Synthese 108, 309–333 (1996)
Colburn, T.: Philosophy and Computer Science. M.E. Sharp Publishers, New York and London (2000)
Copeland, J.: What is computation? Synthese 108(3), 335–359 (1996)
De Millo, R.A., Lipton, R.J., Perlis, A.J.: Social processes and proofs of theorems and programs. Commun. ACM CACM 22(5), 271–280 (1979)
Fetzer, J.H.: Program verification: the very idea. Commun. ACM 31(9), 1048–1063 (1988)
Primiero, G.: Information in the philosophy of computer science. In: Floridi, L. (ed.) The Routledge Encyclopedia on the Philosophy of Information, pp. 90–106 (2016)
Hoare, C.A.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)
Horsman, C., Stepney, S., Wagner, R., Kendon, V.: When does a physical system compute? Proc. R. Soc. A Math. Phys. Eng. Sci. 470(2169), 20140182 (2014)
Kroes, P.: Technological explanations: the relation between structure and function of technological objects. Techné Res. Philos. Technol. 3(3), 124–134 (1988)
Kroes, P.: Technical Artefacts: Creations of Mind and Matter: A Philosophy of Engineering Design. Springer, Dordrecht (2012). https://doi.org/10.1007/978-94-007-3940-6
Lang, M.: Aspects of mathematical explanation: symmetry, unity and salience. Philos. Rev. 123(4), 485–531 (2014)
Piccinini, G.: Computation in Physical Systems. The Stanford Encyclopedia of Philosophy (Summer 2015 Edition)
Piccinini, G.: Physical Computation: A Mechanistic Account. Oxford University Press, Oxford (2015)
Putnam, H.: Minds and machines. In: Hook, S. (ed.) Dimensions of Mind: A Symposium, pp. 138–164. Collier, New York (1960)
Turner, R., Angius, N.: The Philosophy of Computer Science. The Stanford Encyclopaedia of Philosophy (Spring 2017 Edition)
Turner, R.: Towards a philosophy of computer science. Computational Artifacts, pp. 13–19. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-55565-1_2
Wittgenstein, L.: Remarks on the foundations of mathematics. von Wright, G.H., Rhees, R., Anscombe, G.E.M. (eds.). Oxford (1978)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Turner, R. (2019). Correctness, Explanation and Intention. In: Manea, F., Martin, B., Paulusma, D., Primiero, G. (eds) Computing with Foresight and Industry. CiE 2019. Lecture Notes in Computer Science(), vol 11558. Springer, Cham. https://doi.org/10.1007/978-3-030-22996-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-22996-2_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-22995-5
Online ISBN: 978-3-030-22996-2
eBook Packages: Computer ScienceComputer Science (R0)