{"title":"A specification-based approach to maintenance","authors":"K. Lano, H. Haughton","doi":"10.1002/smr.4360030403","DOIUrl":null,"url":null,"abstract":"In this paper we define a language, Z++, and a method based upon this language, to support the use of formal methods in software maintenance. Formal methods have been proposed several times as the solution to the growing problem of software maintenance, and we base our approach on the more successful of the attempts made to apply these methods. \n \n \n \nOur approach is to use a conceptually simple framework, based on an object-oriented extension to the specification language Z (Spivey, 1989), for dealing with requests for changes to software for which some formal documentation and record of development already exists. \n \n \n \nThe method is centered on the maintenance of the specifications and the development record, not upon source code or Structured Methodology documentation. It is proposed as a practical approach for software in the medium-term future, allowing the mass of programming detail that makes the code maintenance problem so expensive to be ignored. Therefore changes and extensions to application systems can be made more rapidly. We describe the language and give details of the specification and refinement system, together with a description of the current state of the implementation of this system.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1991-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"J. Softw. Maintenance Res. Pract.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/smr.4360030403","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13
Abstract
In this paper we define a language, Z++, and a method based upon this language, to support the use of formal methods in software maintenance. Formal methods have been proposed several times as the solution to the growing problem of software maintenance, and we base our approach on the more successful of the attempts made to apply these methods.
Our approach is to use a conceptually simple framework, based on an object-oriented extension to the specification language Z (Spivey, 1989), for dealing with requests for changes to software for which some formal documentation and record of development already exists.
The method is centered on the maintenance of the specifications and the development record, not upon source code or Structured Methodology documentation. It is proposed as a practical approach for software in the medium-term future, allowing the mass of programming detail that makes the code maintenance problem so expensive to be ignored. Therefore changes and extensions to application systems can be made more rapidly. We describe the language and give details of the specification and refinement system, together with a description of the current state of the implementation of this system.