David Hearnden, P. Bailes, Michael Lawley, K. Raymond
{"title":"Automating software evolution","authors":"David Hearnden, P. Bailes, Michael Lawley, K. Raymond","doi":"10.1109/IWPSE.2004.6","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.6","url":null,"abstract":"Software maintenance and evolution are the most expensive activities in the software process, consuming 60% to 80% of the total time spent on a software system. However our understanding of maintenance activities has barely developed beyond arbitrary change to arbitrary things. The standard categories of maintenance are based on subjective characteristics (purpose), rather than objective attributes. Only by understanding the relationships and dependencies between entities in the software process (such as specification, design and implementation) can we begin to objectively categorise and potentially automate aspects of software evolution.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115285120","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Software engineering evolution","authors":"K. Agusa","doi":"10.1109/IWPSE.2004.1334763","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334763","url":null,"abstract":"A new software system is typically implemented with existing software, named reuse based development. With the history of miseries of low reliability and delayed schedule of software development, we have been studying the importance of readability, maintainability, extensibility and so on. The fact that software life-cycle is transmigratory prevents from applying a single technology to improve the overall software quality. The rapid expansion of the IT world invites newcomers in software development community. Web technology has been invented as a tool for information retrieval. Recently, so many systems including enterprise systems whose reliability is very important have been implemented as Web applications. Thus, a natural question arises: Are Verification and Validation techniques established in the half-century history of Software Engineering research applicable for this situation?.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130943971","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Evolution Spectrographs: visualizing punctuated change in software evolution","authors":"Jingwei Wu, C. Spitzer, A. Hassan, R. Holt","doi":"10.1109/IWPSE.2004.1334769","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334769","url":null,"abstract":"Software evolution is commonly characterized as a slow process of incremental change. Researchers have observed that software systems also exhibit characteristics of punctuation (sudden and discontinuous change) during their evolution. We analyze punctuated evolution from the perspective of structural change. We developed a color-coded visualization technique called the Evolution Spectrograph (ESG). ESG can be applied to highlight conspicuous changes across a historical sequence of software releases. We describe evolution spectrographs and present the empirical results from our studies of three open source software systems: OpenSSH, PostgreSQL, and Linux. We show that punctuated change occurred in the evolution of these three systems, and we validate our empirical results by examining related software documents such as change logs and release notes.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"170 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116528629","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
M. Lormans, H. W. V. Dijk, A. Deursen, Eric Nücker, A. Zeeuw
{"title":"Managing evolving requirements in an outsourcing context: an industrial experience report","authors":"M. Lormans, H. W. V. Dijk, A. Deursen, Eric Nücker, A. Zeeuw","doi":"10.1109/IWPSE.2004.1334781","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334781","url":null,"abstract":"We discuss several difficulties managing evolving requirements by means of an industrial case study conducted at LogicaCMG. We report on setting up a requirements management system in an outsourcing context and its application in real-life. The experience results in several lessons learned, questions to be answered in the future on how to manage evolving requirements, and solution directions. We propose a conceptual framework of requirements engineering system tailored for outsourcing environments, which captures the experience results.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130701654","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Aiding comprehension of cloning through categorization","authors":"Cory J. Kapser, Michael W. Godfrey","doi":"10.1109/IWPSE.2004.1334772","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334772","url":null,"abstract":"Management of duplicated code in software systems is important in ensuring its graceful evolution. Commonly clone detection tools return large numbers of detected clones with little or no information about them, making clone management impractical and unscalable. We have used taxonomy of clones to augment current clone detection tools in order to increase the user comprehension of duplication of code within software systems and filter false positives from the clone set. We support our arguments by means of 2 case studies, where we found that as much as 53% of clones can be grouped to form function clones or partial function clones and we were able to filter out as many as 65% of clones as false positives from the reported clone pairs.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114294838","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A brief top-down and bottom-up philosophy on software evolution","authors":"M. Pizka, A. Bauer","doi":"10.1109/IWPSE.2004.1334777","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334777","url":null,"abstract":"The decision on whether to proceed to top-down or bottom-up during software development has a strong and underestimated impact on the quality of the final product including its later evolvability. Various examples for both strategies taken from such different domains as operating systems and computer games provide evidence that bottom-up developed systems are more suitable for future evolution. The reasons for this range from the increased compositionality of bottom-up developed artefacts at the technical level up to a greater independence from certain requirements which constitute the most transient part of a software system. Besides those advantages concerning evolvability, the negative effects of bottom-up orientation can not be ignored. Furthermore, proceeding bottom-up contradicts most conventional development processes. We regard this as a clear indication for the need of new development processes to improve the construction of evolvable software.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127776051","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Evolution of requirements models by simulation","authors":"Christian Seybold, S. Meier, M. Glinz","doi":"10.1109/IWPSE.2004.1334767","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334767","url":null,"abstract":"Simulation is a common means for validating requirements models. Simulating formal models is state-of-the-art. However, requirements models usually are not formal for two reasons. Firstly, a formal model cannot be generated in one step. Requirements are vague in the beginning and are refined stepwise towards a more formal representation. Secondly, requirements are changing, thus leading to a continuously evolving model. Hence, a requirements model will be complete and formal only at the end of the modeling process, if at all. If we want to use simulation as a means of continuous validation during the process of requirements evolution, the simulation technique employed must be capable of dealing with semi-formal, incomplete models. We present an approach how we can handle partial models during simulation and use simulation to support evolution of these models. Our approach transfers the ideas of drivers, stubs, and regression from testing to the simulation of requirements models. It also uses the simulation results for evolving an incomplete model in a systematic way towards a more formal and complete one.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130139896","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Using simulation to facilitate the study of software product line evolution","authors":"Yu Chen, G. Gannod, J. Collofello, H. Sarjoughian","doi":"10.1109/IWPSE.2004.1334774","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334774","url":null,"abstract":"A product line approach is a disciplined methodology for strategic reuse of source code, requirement specifications, software architectures, design models, components, test cases, and the processes for using the aforementioned artifacts. Software process simulation modeling is a valuable tool for enabling decision making for a wide variety of purposes, ranging from adoption and strategic management to process improvement and planning. In this paper, discrete event simulation is used to provide a framework for the simulation of software product line engineering. We have created an environment that facilitates strategic management and long-term forecasting with respect to software product line development and evolution.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132747180","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
R. Settimi, J. Cleland-Huang, Oussama Ben Khadra, Jigar Mody, W. Lukasik, C. DePalma
{"title":"Supporting software evolution through dynamically retrieving traces to UML artifacts","authors":"R. Settimi, J. Cleland-Huang, Oussama Ben Khadra, Jigar Mody, W. Lukasik, C. DePalma","doi":"10.1109/IWPSE.2004.1334768","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334768","url":null,"abstract":"The ability to trace new and changed requirements to their impacted components provides critical support for managing change in an evolving software system. Unfortunately numerous studies have shown the difficulties of maintaining links using traditional traceability methods. Information retrieval techniques can be used to dynamically generate traces and alleviate the need to maintain explicit links, however prior work in this area has focused primarily on establishing intra-requirement links or links between requirements and code. We compare several retrieval techniques for generating links between requirements, code, and UML models. Tracing to UML elements provides a higher perspective on the proposed change than would be possible if links were generated directly to the code and supports the growing trend towards model driven development. Our experiment returned better results for establishing links to UML artifacts than to code, suggesting the usefulness of establishing links to code via UML artifacts. We conclude the paper by discussing the implications of this approach for managing the evolution of a software system.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117163049","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}