System Safety through Formal Domain-Specific Languages

Safety-critical software must evolve to reflect changing requirements. This paper argues that such evolution should not be carried out using source codes, but at higher level of abstraction and, therefore, reverse engineering is needed to acquire this more problem-oriented representation for existing systems.

[1]  Donald E. Knuth,et al.  The T E Xbook , 1987 .

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  Andy Oram,et al.  Managing Projects with Make , 1993 .

[4]  E. J. Younger,et al.  Bylands: reverse engineering safety-critical systems , 1995, Proceedings of International Conference on Software Maintenance.

[5]  Tim M. Bull Software maintenance by program transformation in a wide spectrum language , 1994 .

[6]  E. J. Younger,et al.  Inverse-engineering a simple real-time program , 1994, J. Softw. Maintenance Res. Pract..

[7]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[8]  Felix Redmill,et al.  Achievement and Assurance of Safety , 1995, Springer London.

[9]  John N. Buxton,et al.  Control and Simulation Language , 1962, Comput. J..

[10]  Keith H. Bennett,et al.  A transformation system for maintenance-turning theory into practice , 1992, Proceedings Conference on Software Maintenance 1992.

[11]  Hans Jörg Wingender Reliability Data Collection and Use in Risk and Availability Assessment , 1986 .

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

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

[14]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[15]  Michael Jackson,et al.  The World and the Machine , 1995, 1995 17th International Conference on Software Engineering.

[16]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[17]  Charles Simonyi,et al.  The Death of Computer Languages, The Birth of Intentional Programming , 1995 .

[18]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[19]  Keith H. Bennett,et al.  Formal methods for legacy systems , 1995, J. Softw. Maintenance Res. Pract..

[20]  Nancy G. Leveson,et al.  Software safety , 1982, ACM SIGSOFT Softw. Eng. Notes.

[21]  Brian A. Wichmann,et al.  Ada - language and methodology , 1987, Prentice Hall International Series in Computer Science.

[22]  Keith H. Bennett,et al.  Approaches to program comprehension , 1991, J. Syst. Softw..

[23]  Gary M. Olson,et al.  Can principles of cognition lower the barriers to programming? in empirical studies of programmers: , 1987 .

[24]  John A. McDermid Introduction and overview to Part III , 1991 .

[25]  Cliff B. Jones,et al.  Systematic software development using VDM (2. ed.) , 1990, Prentice Hall International Series in Computer Science.

[26]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[27]  W. G. Town,et al.  Computer handling of chemical structure information , 1974, The Mathematical Gazette.

[28]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[29]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[30]  Frederick Y. Wiselogle Survey of Chemical Notation Systems , 1965 .

[31]  Martin P. Ward Language-Oriented Programming , 1994, Softw. Concepts Tools.

[32]  M. Ward,et al.  A practical program transformation system for reverse engineering , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[33]  H. Yang,et al.  The supporting environment for a reverse engineering system-the Maintainer's Assistant , 1991, Proceedings. Conference on Software Maintenance 1991.

[34]  E. J. Younger,et al.  Understanding concurrent programs using program transformations , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[35]  Martin Ward Proving program refinements and transformations , 1986 .

[36]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[37]  T. W. Anderson,et al.  Resilient Computing Systems , 1987 .

[38]  T. M. Bull An introduction to the WSL program transformer , 1990, Proceedings. Conference on Software Maintenance 1990.