{"title":"Complexity of Finite State Machines as a Tool for Understanding Software Evolution","authors":"J. Rhodes","doi":"10.1109/SE.2007.18","DOIUrl":"https://doi.org/10.1109/SE.2007.18","url":null,"abstract":"Summary form only given. We first briefly outline the complexity of finite automata following the soon-to-be published book [Rhodes, in press]. We then extend the complexity definitions to recent research on Software Complexity, and then explore how the complexity changes as the software systems evolve. These results are compared to previously-obtained results relating to evolution of biological systems. This talk is intended for a general audience interested in Software Evolution.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120981208","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}
Piërre van de Laar, Sjir van Loo, Gerrit Muller, Teade Punter, David Watts, Pierre America, J. Rutgers
{"title":"The Darwin Project: Evolvability of Software-Intensive Systems","authors":"Piërre van de Laar, Sjir van Loo, Gerrit Muller, Teade Punter, David Watts, Pierre America, J. Rutgers","doi":"10.1109/SE.2007.7","DOIUrl":"https://doi.org/10.1109/SE.2007.7","url":null,"abstract":"This paper presents the Darwin project. This applied research project is currently conducted at Philips Medical Systems and focuses on the evolvability of software-intensive systems, with as use case magnetic resonance imaging (MRI) systems. We not only discuss evolvability of software-intensive systems in general, but also describe the project and its research areas.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121523352","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":"Attributes for Characterizing the Evolution of Architectural Design Decisions","authors":"R. Capilla, F. Nava, Antony Tang","doi":"10.1109/SE.2007.17","DOIUrl":"https://doi.org/10.1109/SE.2007.17","url":null,"abstract":"Software architecture has been widely used to describe the design of a software system. Its maintenance over time can be costly, especially when maintainers have to recover software architecture knowledge due to poor design documentation. Capturing design decisions is one important aspect in documenting design and even though there has been some work in this area, there has been little emphasis on the evolution of design decisions. In this paper, we analyze design decision models and the issues of not capturing evolving decisions. To tackle these issues, we propose a set of decision attributes that can be used to support evolving decision models.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127317313","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 Tentative Technique for the Study and Planning of Co-Evolution in Product","authors":"I. Heitlager, R. Helms, S. Brinkkemper","doi":"10.1109/SE.2007.14","DOIUrl":"https://doi.org/10.1109/SE.2007.14","url":null,"abstract":"Startups play an important role in the production of product software. We state that these companies follow a specific dynamic in which both product and software process evolve. Products do not simply grow linearly by adding features, but will also have to improve on non-functional qualities of the software, like portability or reliability. The software process evolves by adding new and improving existing process models. In this paper we introduce a technique to visualize the prioritization of evolution steps in both the software product and the software process. With this technique to co-evolution can be studied and this knowledge serve as input for the planning of future startups.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131038013","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 Evolvability: An Ecosystem Point of View","authors":"Liguo Yu, Srini Ramaswamy, John Bush","doi":"10.1109/SE.2007.8","DOIUrl":"https://doi.org/10.1109/SE.2007.8","url":null,"abstract":"Software systems need to evolve to adapt to either a new environment or a new requirement. This position paper discusses the evolution of a software system from the viewpoint of an ecosystem and asserts that the evolution of a software system is not a standalone process but an aggregate process of other related software systems that forms a software ecosystem. This paper describes several of our ongoing projects in studying different types of symbiotic relationships between software systems and their effects on software evolution.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131312286","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":"Tracing software evolution history with design goals","authors":"Neil A. Ernst, J. Mylopoulos","doi":"10.1109/SE.2007.10","DOIUrl":"https://doi.org/10.1109/SE.2007.10","url":null,"abstract":"When designing software for evolvability, it is important to understand which particular designs have worked in the past - and which have not. This paper argues that understanding the history of a software innovation is valuable in setting the context for future innovations. There is no formal discipline of software history. While there is an active body of research in information technology (IT) and innovation management, which seeks to understand how to maximize value from IT spending, this research often ignores the meaningful technological underpinnings of such tools. We suggest that the study of design history should be extended to software artifacts. The paper introduces notions like requirements analysis, technology context, and social context to explain how, and why, certain technologies evolved as they did. We apply these concepts to the history of distributed computing protocols. We conclude with observations drawn from this history that suggest designing software for evolvability must consider the history of similar applications in the requirements analysis.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"78 11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126928881","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":"Defining Software Evolvability from a Free/Open-Source Software","authors":"J. Deprez, F.F. Monfilsc, M. Ciolkowskf, M. Soto","doi":"10.1109/SE.2007.15","DOIUrl":"https://doi.org/10.1109/SE.2007.15","url":null,"abstract":"This paper studies various sources of information to identify factors that influence the evolvability of Free and Open-Source Software (FIOSS) endeavors. The sources reviewed to extract criteria are (1) interviews with FIOSS integrators, (2) the scientific literature, and (3) existing standard, norms as well as (4) three quality assessment methodologies specific to FIOSS , namely, QSOS, OpenBRR and Open Source Maturity Model. This effort fits in the larger scope of QUALOSS, a research project funded by the European Commission, whose goal is to develop a methodology to assess the evolvability and robustness of FIOSS endeavors.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132449615","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 Requirement Level Modification Analysis Support Framework","authors":"Maryam Shiri, J. Hassine, J. Rilling","doi":"10.1109/SE.2007.9","DOIUrl":"https://doi.org/10.1109/SE.2007.9","url":null,"abstract":"Modification analysis is an essential phase of most software maintenance processes, requiring decision makers to perform and predict potential change impacts, feasibility and costs associated with a potential modification request. The majority of existing techniques and tools supporting modification analysis focusing on source code level analysis and require an understanding of the system and its implementation. In this research, we present a novel approach to support the identification of potential modification and re-testing efforts associated with a modification request, without the need for analyzing or understanding the system source code. We combine Use Case Maps with Formal Concept Analysis to provide a unique modification analysis framework that can assist decision makers during modification analysis at the requirements level. We demonstrate the applicability of our approach on a telephony system case study.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"194 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121716609","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":"Size and Frequency of Class Change from a Refactoring Perspective","authors":"S. Counsell, E. Mendes","doi":"10.1109/SE.2007.13","DOIUrl":"https://doi.org/10.1109/SE.2007.13","url":null,"abstract":"A previous study by Bieman et al., investigated whether large, object-oriented classes were more susceptible to change than smaller classes. The measure of change used in the study was the frequency with which the features of a class had been changed over a specific period of time. From a refactoring perspective, the frequency of class change is of value But even for a relatively simple refactoring such as 'rename method', multiple classes may undergo minor modification without any net increase in class (and system) size. In this paper, we suggest that the combination of 'versions of a class and number of added lines of code ' in the bad code 'smell' detection process may give a better impression of which classes are most suitable candidates for refactoring; as such, effort in detecting bad code smells should apply to classes with a high growth rate as well as a high change frequency. To support our investigation, data relating to changes from 161 Java classes was collected. Results concluded that it is not necessarily the case that large classes are more change-prone than relatively smaller classes. Moreover, the bad code smell detection process is informed by using the combination of change frequency and class size as a heuristic.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131029663","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 Phenetics, Phylogeny and Evolution","authors":"A. Sampaio","doi":"10.1109/SE.2007.12","DOIUrl":"https://doi.org/10.1109/SE.2007.12","url":null,"abstract":"Many important discussion and theoretical reasoning has been done about software evolution, notably, in connection with biological evolution. Species are the units used by biologists to measure variety of forms and study evolution and taxonomies are the way to express relations between species. In this paper the author relates classification of species with evolution and proposes the use of biological methods to construct phylogenetic relations of software. Afterwards approaches to achieve that are presented and a taxonomic study using one of such approaches with some software methods is briefly presented.","PeriodicalId":155468,"journal":{"name":"Third International IEEE Workshop on Software Evolvability 2007","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128122029","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}