Some Notes on Putting Formal Specifications to Productive Use

These notes are personal reflections, stemming from attempts to understand the sources of problems and successes in the application of work on formal specifications. Our intent is to provoke thought about the nature and value of work in the area; not to provide a set of well-tested results. Rather than focusing on yet another specification language, we have tried to take a broad view of the role of formal specifications in the program development process.

[1]  Glenford J Myers,et al.  Reliable software through composite design , 1975 .

[2]  David R. Musser,et al.  Abstract Data Type Specification in the Affirm System , 1980, IEEE Transactions on Software Engineering.

[3]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[4]  James J. Horning,et al.  Formal specification as a design tool , 1980, POPL '80.

[5]  Peter Wegner,et al.  The Vienna Definition Language , 1972, CSUR.

[6]  Michael Jackson,et al.  Principles of program design , 1975 .

[7]  Cliff B. Jones,et al.  Software development - a rigorous approach , 1980, Prentice Hall international series in computer science.

[8]  K. Mani Chandy,et al.  Current trends in programming methodology , 1977 .

[9]  D. Kapur TOWARDS A THEORY FOR ABSTRACT DATA TYPES , 1980 .

[10]  Wladyslaw M. Turski,et al.  Design of Large Programs , 1980, Software Engineering.

[11]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[12]  Eric Emerson Schmidt Controlling large software development in a distributed environment , 1982 .

[13]  Bernard Sufrin Formal Specification of a Display-Oriented Text Editor , 1982, Sci. Comput. Program..

[14]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[15]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[16]  C. A. R. Hoare,et al.  Communicating sequential processes , 2021, CACM.

[17]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[18]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .