{"title":"UML-based tool support for separating application and architectural evolution","authors":"T. Mikkonen, Mika Pussinen","doi":"10.1109/IWPSE.2004.1334770","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334770","url":null,"abstract":"In analogy to civil engineering, the \"load-bearing walls\" of a software system bear significant importance for software evolution. Unfortunately, documentation and evolution of such \"walls\" in the form of software architecture has proven to be problematic, because instead of individual classes and objects, the important artifacts may be collections of design elements and their relations, whose collective evolution should be considered. In this paper, we introduce a tool where architecturally significant concepts, defined in the form of patterns, can be separated from application specific details. This separation allows diverging evolution of applications and patterns forming their architecture, with an option to enforce the architecture in applications. Moreover, the tool helps in correcting the designs in case an error has been made or patterns forming the architecture have been upgraded.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"37 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":"129247002","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":"Foundations for evolutionary construction of state transition models","authors":"Toshiaki Aoki, T. Katayama","doi":"10.1109/IWPSE.2004.1334779","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334779","url":null,"abstract":"We are working on the verification of object-oriented design models using a theorem proving system HOL. One of big problems to verify software is that the cost of interactive proofs to be done during the verification is very expensive. To reduce that cost, we are proposing an approach which allows us to reuse proofs and construct models evolutionally. We focus on evolutionary construction of the models and propose foundations to deal with it.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"27 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":"115444951","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":"Handling consistency of software evolution in an efficient way","authors":"N. Thang, T. Katayama","doi":"10.1109/IWPSE.2004.1334776","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334776","url":null,"abstract":"Software evolution by T. Katayama (2001) is about changes to software. A typical evolution scenario is to incorporate additional features into a system. In such a situation, there is a fundamental issue to be dealt with. It is to verify that the extra features do not violate existing properties adhered to the system, i.e. consistency. The verification method is also required to be efficient. This work focuses on the formal solution of these two issues. Systems are essentially structured in terms of features. Between features are interfaces through which features communicate with each other. The consistency between the system (base) and an extra feature (extension) during evolution is then verified via a modular model checking method by K. Fisler and S Krishnamurthi (2001). Instead of checking entirely the newly evolved system, the proposed method only executes in the extension with some base behavior assumption at the interface. This approach turns out to be very efficient as the verification complexity only depends on the extension. Further, the method is very flexible since the interface is open for unanticipated software changes. A case study is also provided to illustrate two eminent merits of the approach - efficiency in consistency verification and openness.","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":"125936179","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 evolution in the era of software services","authors":"G. Canfora","doi":"10.1109/IWPSE.2004.1334764","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334764","url":null,"abstract":"Software evolution has been traditionally associated with the idea of changing the code of a system, or system's component. It is universally accepted that software must be continually changed to remain satisfactory in use and evolution is often seen as the long term result of software maintenance. In This work, I argue that replacement, in addition to change, be considered as a basic mechanism for software evolution. In other words, the traditional approach to evolving a software system by changing its components should be contrasted with the alternative of replacing the individual components. This entails a shift of perspective from the current situation, where a need for a new/modified characteristic of a system raised by the business entails a change request to the system's supplier, to the situation in which the same need entails disengaging the affected system's components and searching the marketplace for replacement components that meet the new needs. The paper discusses motivations for such a change of perspective and shows how service oriented architectures can support it.","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":"130863702","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}
L. Cerulo, Raffaele Esposito, M. Tortorella, L. Troiano
{"title":"Supporting software evolution by using fuzzy logic","authors":"L. Cerulo, Raffaele Esposito, M. Tortorella, L. Troiano","doi":"10.1109/IWPSE.2004.1334778","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334778","url":null,"abstract":"Identifying a strategy for legacy software system evolution requires analysis and assessment activities. Information on performance and costs of software systems must be considered when making decisions on the most suitable strategy to be applied. Many approaches have been defined for supporting this task, and several authors have proposed decision frameworks for aiding the selection of evolution strategy. These approaches often lack of techniques for the management of uncertainty, traditionally considered as unscientific and as a source of errors and arising from the confidence of the answers provided by respondents. An approach previously proposed is analyzed and extended with fuzzy logic concepts. The approach uses a measurement framework based on the Goal-Question-Metric (GQM) paradigm and a set of critiquing tables. Fuzzy logic principles have been introduced in both components, for obtaining a better insight of the analyzed software system quality and an indication of the risks to be assumed when one selected strategy is adopted instead of another.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"22 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":"131357769","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":"Studying the evolution of open source systems at different levels of granularity: two case studies","authors":"A. Capiluppi, J. Fernández-Ramil","doi":"10.1109/IWPSE.2004.1334775","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334775","url":null,"abstract":"This work presents a study of several evolutionary attributes of two open source software systems: the distributed file system Arla and the stable branch of the Web browser Mozilla. The attributes (size, activity rate and complexity) are visualized over releases using measures at various levels of granularity: folders, files and procedures. A number of hypotheses about the evolutionary behaviour of the systems are considered and, in general, supported by the data from the 2 systems.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"4 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":"115093223","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":"Studying the evolution of software systems using evolutionary code extractors","authors":"A. Hassan, R. Holt","doi":"10.1109/IWPSE.2004.1334771","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334771","url":null,"abstract":"Software systems are continuously changing and adapting to meet the needs of their users. Empirical studies are needed to better understand the evolutionary process followed by software systems. These studies need tools that can analyze and report various details about the software system's history. We propose evolutionary code extractors as a type of tool to assist in empirical source code evolution research. We present the design dimensions for such an extractor and discuss several of the challenges associated with automatically recovering the evolution of source code.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"208-209 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":"130713805","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":"An automatic approach to identify class evolution discontinuities","authors":"G. Antoniol, M. D. Penta, E. Merlo","doi":"10.1109/IWPSE.2004.1334766","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334766","url":null,"abstract":"When a software system evolves, features are added, removed and changed. Moreover, refactoring activities are periodically performed to improve the software internal structure. A class may be replaced by another, two classes can be merged, or a class may be split in two others. As a consequence, it may not be possible to trace software features between a release and another. When studying software evolution, we should be able to trace a class lifetime even when it disappears because it is replaced by a similar one, split or merged. Such a capability is also essential to perform impact analysis. This work proposes an automatic approach, inspired on vector space information retrieval, to identify class evolution discontinuities and, therefore, cases of possible refactoring. The approach has been applied to identify refactorings performed over 40 releases of a Java open source domain name server. Almost all the refactorings found were actually performed in the analyzed system, thus indicating the helpfulness of the approach and of the developed tool.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"581 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":"134140058","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":"Co-evolution of complementary formal and informal requirements","authors":"A. Krishna, A. Ghose, S. Vilkomir","doi":"10.1109/IWPSE.2004.1334782","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334782","url":null,"abstract":"Agent-oriented Conceptual Modelling (AoCM, as exemplified by the i* notation by E. Yu (1995)), represents an interesting approach to modelling early phase requirements that is particularly effective in capturing organizational contexts, stake-holder intentions and rationale. There are significant benefits in using formal methods for the development of computer systems and improving their quality. We propose a methodology which permits the use of these two otherwise disparate approaches in a complementary and synergistic fashion for requirements engineering.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"221 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":"116375913","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 study of evolution in the presence of source-derived partial design representations","authors":"Vibha Sazawal, Miryung Kim, D. Notkin","doi":"10.1109/IWPSE.2004.1334765","DOIUrl":"https://doi.org/10.1109/IWPSE.2004.1334765","url":null,"abstract":"When performing evolution tasks, software engineers focus on both the low-level changes required and the effects those changes will have on the system's design. The Design Snippets Tool generates partial design representations intended to help engineers address one design criterion: ease of change. We describe a study in which participants used the Design Snippets Tool and other aids to perform a restructuring task focused on ease of change. Our findings describe how participants proceeded through the restructuring task and how they used the Design Snippets Tool. The results show that participants used the Design Snippets Tool for high-level tasks such as discovery of design problems, identification of restructuring goals, and confirmation of design improvements.","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":"125476455","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}