{"title":"迈向软件进化的理论——以及它的实际影响","authors":"M. Lehman, J. F. Ramil","doi":"10.1109/ISPSE.2000.913215","DOIUrl":null,"url":null,"abstract":"After years of study of software evolution processes, most recently in the FEASTprojects, it appears that there is now a sufJicient body of knowledge to provide a basis for development of a theory of software evolution rooted in axioms derived from observation. That body includes, for example, behavioural patterns and invariants in the evolutionary attributes of industrially evolved systems and the processes applied to implement them. This paper discusses the need for such a theory, underlying concepts and the contribution that a theory could make to achieving greater software evolvability and improved planning and management for effective and responsive evolution. A brief discussion of the evolution phenomenon and some of its characteristics is followed by a listing of some of the management guidelines that have arisen from recent FEAST studies. These were derived from a series of observations and inferences that suggest an initial set of axioms from which a formal theory of software evolution may be developed. The set is of interest because it is believed that, after further clarification, the set suffices for a proof of the principle of software uncertainty. As more theorems are proven their interpretation should provide guidelines for the development of evolvable software architectures and suggest rules and guidelines for software evolution planning and management. Eventually, the rules already developed by ad hoc means, together with additional rules and other good practices should be formally derivable from the emerging theory.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"25 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"63","resultStr":"{\"title\":\"Towards a theory of software evolution - and its practical impact\",\"authors\":\"M. Lehman, J. F. Ramil\",\"doi\":\"10.1109/ISPSE.2000.913215\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"After years of study of software evolution processes, most recently in the FEASTprojects, it appears that there is now a sufJicient body of knowledge to provide a basis for development of a theory of software evolution rooted in axioms derived from observation. That body includes, for example, behavioural patterns and invariants in the evolutionary attributes of industrially evolved systems and the processes applied to implement them. This paper discusses the need for such a theory, underlying concepts and the contribution that a theory could make to achieving greater software evolvability and improved planning and management for effective and responsive evolution. A brief discussion of the evolution phenomenon and some of its characteristics is followed by a listing of some of the management guidelines that have arisen from recent FEAST studies. These were derived from a series of observations and inferences that suggest an initial set of axioms from which a formal theory of software evolution may be developed. The set is of interest because it is believed that, after further clarification, the set suffices for a proof of the principle of software uncertainty. As more theorems are proven their interpretation should provide guidelines for the development of evolvable software architectures and suggest rules and guidelines for software evolution planning and management. Eventually, the rules already developed by ad hoc means, together with additional rules and other good practices should be formally derivable from the emerging theory.\",\"PeriodicalId\":170375,\"journal\":{\"name\":\"Proceedings International Symposium on Principles of Software Evolution\",\"volume\":\"25 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"63\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings International Symposium on Principles of Software Evolution\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISPSE.2000.913215\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings International Symposium on Principles of Software Evolution","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISPSE.2000.913215","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards a theory of software evolution - and its practical impact
After years of study of software evolution processes, most recently in the FEASTprojects, it appears that there is now a sufJicient body of knowledge to provide a basis for development of a theory of software evolution rooted in axioms derived from observation. That body includes, for example, behavioural patterns and invariants in the evolutionary attributes of industrially evolved systems and the processes applied to implement them. This paper discusses the need for such a theory, underlying concepts and the contribution that a theory could make to achieving greater software evolvability and improved planning and management for effective and responsive evolution. A brief discussion of the evolution phenomenon and some of its characteristics is followed by a listing of some of the management guidelines that have arisen from recent FEAST studies. These were derived from a series of observations and inferences that suggest an initial set of axioms from which a formal theory of software evolution may be developed. The set is of interest because it is believed that, after further clarification, the set suffices for a proof of the principle of software uncertainty. As more theorems are proven their interpretation should provide guidelines for the development of evolvable software architectures and suggest rules and guidelines for software evolution planning and management. Eventually, the rules already developed by ad hoc means, together with additional rules and other good practices should be formally derivable from the emerging theory.