Abstract
One can use formal approaches either post facto to try to show that a program has desirable properties or one can aim for verified by construction (VxC). The former approach tends to focus on specific properties such as avoiding the dereferencing of null pointers; the latter is more likely to address the question of whether the steps of design satisfy some overall specification. I not only prefer the latter but I have also argued that this is the main way to get formal methods to pay off: there is more mileage in getting a clean architecture than in trying to debug a bad design by retrofitting a proof.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Bjørner, D.: Software Engineering (3 vols.). Springer, Heidelberg (2005)
Da Cunha, A.D., Greathead, D.: Does personality matter? an analysis of code-review ability. In: Communications of the ACM (in press, 2006)
Hayes, I., Jackson, M., Jones, C.: Determining the specification of a control system from that of its environment. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 154–169. Springer, Heidelberg (2003)
Jones, C., Hayes, I., Jackson, M.: Specifying systems that connect to the physical world. Acta Informatica (submitted, 2006)
Jones, C.B., Jones, K.D., Lindsay, P.A., Moore, R.: mural: A Formal Development Support System. Springer, Heidelberg (1965)
Jones, C.B.: A rigorous approach to formal methods. IEEE, Computer 29(4), 20–21 (1996)
Jones, C.B.: Reasoning about the design of programs. Royal Soc. Phil. Trans. R Soc. A 363(1835), 2395–2396 (2005)
MacKenzie, D.: Computer-related accidental death: an empirical exploration. Science and Public Policy 21, 233–248 (1994)
MacKenzie, D.: Mechanizing Proof: Computing, Risk, and Trust. MIT Press, Cambridge (2001)
MacKenzie, D.: An Engine, Not a Camera: How Financial Models Shape Markets. MIT Press, Cambridge, Mass (2006)
Perrow, C.: Normal Accidents. Princeton University Press, Princeton (1999)
Reason, J.: Human Error. Cambridge University Press, Cambridge (1990)
Reason, J.: Managing the Risks of Organisational Accidents. Ashgate Publishing Limited (1997)
Rushby, J.: Using model checking to help discover mode confusions and other automation surprises. In: Proceedings of 3rd Workshop on Human Error. HESSD 1999, pp. 1–18 (1999)
Strigini, L., Povyakalo, A., Alberdi, E.: Human machine diversity in the use of computerised advisory systems: A case study. In: DSN 2003-IEEE International Conference on Dependable Systems and Networks, San Francisco, USA, pp. 249–258 (2003)
Weinberg, G.M.: The Psychology of Computer Programming. Van Norstrand (1971)
WWW (2006), www.dirc.org.uk
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Jones, C.B. (2008). Some Interdisciplinary Observations about Getting the “Right” Specification. In: Meyer, B., Woodcock, J. (eds) Verified Software: Theories, Tools, Experiments. VSTTE 2005. Lecture Notes in Computer Science, vol 4171. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69149-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-69149-5_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69147-1
Online ISBN: 978-3-540-69149-5
eBook Packages: Computer ScienceComputer Science (R0)