Article contents
Engineering Software Correctness
Published online by Cambridge University Press: 01 November 2007
Abstract
Design and quality are fundamental themes in engineering education. Functionalprogramming builds software from small components, a central element of gooddesign, and facilitates reasoning about correctness, an important aspect ofquality. Software engineering courses that employ functional programming providea platform for educating students in the design of quality software. This pearldescribes experiments in the use of ACL2, a purely functional subset of CommonLisp with an embedded mechanical logic, to focus on design and correctness insoftware engineering courses. Students find the courses challenging andinteresting. A few acquire enough skill to use an automated theorem prover onthe job without additional training. Many students, but not quite a majority,find enough success to suggest that additional experience would make themeffective users of mechanized logic in commercial software development. Nearlyall gain a new perspective on what it means for software to be correct andacquire a good understanding of functional programming.
- Type
- Educational Pearl
- Information
- Copyright
- Copyright © Cambridge University Press 2007
References
- 10
- Cited by
Discussions
No Discussions have been published for this article.