Formal methods: the very idea - Some thoughts about why they work when they work

Abstract The paper defines formal methods (FMs) and describes economic issues involved in their application. From these considerations and the concepts implicit in “No Silver Bullet”, it becomes clear that FMs are best applied during requirements engineering. A explanation of why FMs work when they work is offered and it is suggested that FMs help the most when the applier is most ignorant about the problem domain.

[1]  James M. Bieman,et al.  Rapid Prototyping: Lessons Learned , 1995, IEEE Softw..

[2]  James H. Fetzer Program verification: the very idea , 1988, CACM.

[3]  David Stuart Robertson Pitfalls of formality in early system design , 2002, Sci. Comput. Program..

[4]  Philip M. Johnson,et al.  The Personal Software Process: A Cautionary Case Study , 1998, IEEE Softw..

[5]  Nancy G. Leveson,et al.  Guest Editor's Introduction Formal Methods in Software Engineering , 1990, IEEE Trans. Software Eng..

[6]  Jeannette M. Wing A specifier's introduction to formal methods , 1990, Computer.

[7]  Daniel M. Berry,et al.  Specification and Prototyping: Some Thoughts on Why They Are Successful , 1985, TAPSOFT, Vol.2.

[8]  Nissim Francez,et al.  Program verification , 1992, International computer science series.

[9]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[10]  Meir M. Lehman Programs, life cycles, and laws of software evolution , 1980 .

[11]  Anthony Hall Using Formal Methods to Develop an ATC Information System , 1996, IEEE Softw..

[12]  David Notkin,et al.  Model checking large software specifications , 1996, SIGSOFT '96.

[13]  Richard A. Kemmerer,et al.  Testing Formal Specifications to Detect Design Errors , 1985, IEEE Transactions on Software Engineering.

[14]  J. Rushby Calculating with requirements , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[15]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[16]  Daniel M. Berry,et al.  The importance of ignorance in requirements engineering , 1995, J. Syst. Softw..

[17]  Michael Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[18]  Daniel M. Berry Towards a Formal Basis for the Formal Development Method and the Ina Jo Specification Language , 1987, IEEE Transactions on Software Engineering.

[19]  Daniel M. Berry,et al.  Guest Editors' Introduction: Requirements Engineering , 1998, IEEE Softw..

[20]  Richard J. Lipton,et al.  Social processes and proofs of theorems and programs , 1977, POPL.