@article{gray06, title = {Automating change evolution in model-driven engineering}, author = {J. Gray and Y. Lin and J. Zhang}, booktitle = {Computer}, pages = {51- 58}, volume = 39, year = 2006, url = {http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1597088}, issn = {0018-9162}, doi = {10.1109/MC.2006.45}, description = {IEEE Xplore - Login}, abstract = {The escalating complexity of software and system models is making it difficult to rapidly explore the effects of a design decision. Automating such exploration with model transformation and aspect-oriented techniques can improve both productivity and model quality. The combination of model transformation and aspect weaving provides a powerful technology for rapidly transforming legacy systems from the high-level properties that models describe. Further, by applying aspect-oriented techniques and program transformation, small changes at the modeling level can trigger very large transformations at the source code level. Thus, model engineers can explore alternative configurations using an aspect weaver targeted for modeling tools and then use the models to generate program transformation rules for adapting legacy source code on a wide scale.}, biburl = {http://www.bibsonomy.org/bibtex/29e36a23348f5ef899f5a809d3980e22d/neilernst}, keywords = {modeling evolution must-read aspects} } @inproceedings{fabbrini07, title = {Controlling Requirements Evolution: a Formal Concept Analysis-Based Approach}, author = {F. Fabbrini and M. Fusani and S. Gnesi and G. Lami}, booktitle = {International Conference on Software Engineering Advances}, pages = 68, publisher = {IEEE Computer Society}, year = 2007, url = {http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4299948}, isbn = {0-7695-2937-2}, doi = {http://dx.doi.org/10.1109/ICSEA.2007.24}, abstract = {Requirements evolve during the software development process. Requirements specification evolution determines changes both in terms of level of details and style of representation and it brings the requirements from the initial statement of the customer needs towards more detailed documents able to drive the software design, construction and verification. Controlling the evolution of requirements, usually written in natural language, is very important for the success of the whole software project because every step in the evolutionary path of requirements can introduce undesired changes or lacks of information. This paper describes an approach based on the Formal Concepts Analysis that allows a systematic and precise verification of the consistency among different stages of natural language requirements evolution.}, biburl = {http://www.bibsonomy.org/bibtex/2044a9c8af12b0b7b225c242f14df4159/neilernst}, keywords = {requirements evolution} } @article{dig06jsm, title = {How do APIs evolve? A story of refactoring}, author = {Danny Dig and Ralph Johnson}, journal = {Journal of Software Maintenance and Evolution: Research and Practice}, number = 2, pages = {83-107}, volume = 18, year = 2006, url = {http://dx.doi.org/10.1002/smr.328}, ee = {}, bibsource = {DBLP, http://dblp.uni-trier.de}, abstract = {Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been proposed to solve the evolution of APIs, most updates are done manually. To better understand the requirements for migration tools, we studied the API changes of four frameworks and one library. We discovered that the changes that break existing applications are not random, but tend to fall into particular categories. Over 80% of these changes are refactorings. This suggests that refactoring-based migration tools should be used to update applications.}, biburl = {http://www.bibsonomy.org/bibtex/25ba58e7e6f0f83d14191a7bbc2b72a30/neilernst}, keywords = {framework evolution must-read} } @inproceedings{wenzel08icse, title = {Analyzing model evolution}, author = {Sven Wenzel and Udo Kelter}, booktitle = {Intl Conf. on Software Engineering}, crossref = {conf/icse/2008}, month = {May}, pages = {831-834}, year = 2008, url = {http://dblp.uni-trier.de/db/conf/icse/icse2008.html#WenzelK08}, ee = {http://doi.acm.org/10.1145/1368088.1368214}, isbn = {978-1-60558-079-1}, date = {2008-05-15}, description = {dblp}, abstract = {Model-driven development leads to development processes in which a large number of different versions of models are produced. We present FAME, a tool environment which enables fine-grained analysis of the version history of a model. The tool is generic in the sense that it can work with various model types including UML and domain-specific languages.}, biburl = {http://www.bibsonomy.org/bibtex/206dcf71f2a058f95f3cc133d1bee134c/neilernst}, keywords = {model requirements evolution} } @article{chapin01, title = {Types of software evolution and software maintenance}, author = {Ned Chapin and Joanne E. Hale and Juan Fernandez-Ramil and Wui-Gee Tan}, journal = {Journal of Software Maintenance and Evolution: Research and Practice}, number = 1, pages = {3--30}, publisher = {John Wiley \& Sons, Ltd.}, volume = 13, year = 2001, url = {http://dx.doi.org/10.1002/smr.220}, id = {606026}, priority = {3}, doi = {10.1002/smr.220}, description = {Not previously uploaded}, abstract = {The past two decades have seen increasing sophistication in software work. Now and in the future, the work of both practitioners and researchers would be helped by a more objective and finer granularity recognition of types of software evolution and software maintenance activities as actually done. To these ends, this paper proposes a clarifying redefinition of the types of software evolution and software maintenance. The paper bases the proposed classification not on people's intentions but upon objective evidence of maintainers' activities ascertainable from observation of activities and artifacts, and/or a before and after comparison of the software documentation. The classification includes taking into account in a semi-hierarchical manner evidence of the change or lack thereof in: (1) the software, (2) the documentation, (3) the properties of the software, and (4) the customer-experienced functionality. A comparison is made with other classifications and typologies. The paper provides a classified list of maintenance activities and a condensed decision tree as a summary guide to the proposed evidence-based classification of the types of software evolution and software maintenance.}, biburl = {http://www.bibsonomy.org/bibtex/290e3c09f10e3b5ec06f3d79658cce415/neilernst}, keywords = {evolution software taxonomy} } @article{svahnberg05spe, title = {A taxonomy of variability realization techniques.}, author = {Mikael Svahnberg and Jilles van Gurp and Jan Bosch}, journal = {Softw., Pract. Exper.}, number = 8, pages = {705-754}, volume = 35, year = 2005, url = {http://dx.doi.org/10.1002/spe.652}, description = {dblp}, biburl = {http://www.bibsonomy.org/bibtex/26ab9a79f3a20711a25425e2d55062964/neilernst}, keywords = {evolution taxonomy} } @book{darwin1859, title = {On the Origin of Species by Means of Natural Selection}, address = {London}, author = {Charles Darwin}, note = { or the Preservation of Favored Races in the Struggle for Life}, publisher = {Murray}, year = 1859, id = {2376343}, priority = {2}, biburl = {http://www.bibsonomy.org/bibtex/2d70d713c717fb28384fb073c9f6dfbc2/neilernst}, keywords = {evolution} } @article{matsuura97, title = {EVA: a flexible programming method for evolving systems}, author = {S. Matsuura and H. Kuruma and S. Honiden}, journal = {IEEE Transactions on Software Engineering}, pages = {296-313}, volume = 23, year = 1997, url = {http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&arnumber=588522&isnumber=12787}, issn = {0098-5589}, doi = {10.1109/32.588522}, abstract = {The authors' goal is to establish a flexible programming support for evolving systems that will enable one to modify programs using less labor, while maintaining good quality during service life. EVA (evolution mechanism for flexible agent) was developed to allow a flexible programming support system to be constructed based on their programming method for evolving systems. They consider that programming methods for evolving systems need to satisfy the following essential conditions. First, they need to make it easy to specify changes in a system in terms of new requirements. Second, they need to have a procedure for transmitting the new requirements to a program. Third, they need to be able to guarantee that the resultant program will meet the new requirements. Finally, because of the repetitive nature of much evolving systems work, they need to provide for the reuse of similar modifications during programming. In order to overcome limitations in program modification techniques which have only considered programming products, programming processes have been introduced into the method. To achieve their goal, they have formulated programming products and programming processes using such formal techniques as functional programming, type theory, modules, parameterized programming and natural deduction, and have constructed a mechanism of reusing these formal programming processes. The paper explains a case study which shows how to develop an evolving system using EVA and it discusses how one can use EVA's mechanism effectively.}, biburl = {http://www.bibsonomy.org/bibtex/2800fb909647a2eb1694bf76cd36022e6/neilernst}, keywords = {systems evolution} } @article{oliver99, title = {Representation of change in controlled medical terminologies}, author = {Diane E. Oliver and Yuval Shahar and Edward H. Shortliffe and Mark A. Musen}, journal = {Artificial Intelligence in Medicine}, number = 1, pages = {53-76}, volume = 15, year = 1999, url = {citeseer.ist.psu.edu/bc99representation.html}, abstract = {Computer-based systems that support health care require large controlled terminologies to manage names and meanings of data elements. These terminologies are not static, because change in health care is inevitable. To share data and applications in health care, we need standards not only for terminologies and concept representation, but also for representing change. To develop a principled approach to managing change, we analyze the requirements of controlled medical terminologies and consider features that frame knowledge representation systems have to offer. Based on our analysis, we present a concept model, a set of change operations, and a change-documentation model that may be appropriate for controlled terminologies in health-care. We are implementing our framework in a system that addresses the problem of terminology divergence due to local adaptations.}, biburl = {http://www.bibsonomy.org/bibtex/2c29ed115c059128920192152d1897f24/neilernst}, keywords = {evolution ontology} } @article{chenais08, title = {Merging Object and Process Diagrams for Business Information Modeling }, author = {Patrick Chenais}, month = {Apr}, pages = { }, year = {2008 }, url = {http://arxiv.org/abs/0804.0366}, description = {[0804.0366] Merging Object and Process Diagrams for Business Information Modeling}, abstract = { While developing an information system for the University of Bern, we were faced with two major issues: managing software changes and adapting Business Information Models. Software techniques well-suited to software development teams exist, yet the models obtained are often too complex for the business user. We will first highlight the conceptual problems encountered while designing the Business Information Model. We will then propose merging class diagrams and business process modeling to achieve a necessary transparency. We will finally present a modeling tool we developed which, using pilot case studies, helps to show some of the advantages of a dual model approach. }, biburl = {http://www.bibsonomy.org/bibtex/285741348b7f4a516d574f42f7b83969d/neilernst}, keywords = {evolution business diagram} } @article{desai08tosem, title = {Amoeba: A Methodology for Requirements Modeling and Evolution of Cross-Organizational Business Processes}, author = {Nirmit Desai and Amit K. Chopra and Munindar P. Singh}, journal = {Transactions on Software Engineering and Methodology}, note = {submitted}, year = 2008, url = {http://www4.ncsu.edu/~nvdesai/tosem07.pdf}, abstract = {Business service engagements involve processes that extend across two or more autonomous organizations. Because of regulatory and competitive reasons, requirements for business processes often evolve in subtle ways. The changes may concern the business transactions supported by a business process, the organizational structure of parties participating in the process, or the con- textual policies that apply to the process. Current business process modeling approaches handle such changes in an ad hoc manner, and lack a principled means of determining what needs to be changed and where. Cross-organizational settings exacerbate the shortcomings of traditional approaches because changes in one organization can affect the workings of another. This paper describes Amoeba, a methodology for business processes that is based on business protocols. Protocols capture the business meaning of interactions among autonomous parties via commitments. Amoeba proposes guidelines for (1) specifying cross-organizational processes using business protocols, and (2) handling evolution of requirements via a novel application of protocol composition. This paper evaluates Amoeba using enhancements of a real-life business scenario of auto-insurance claim processing.}, biburl = {http://www.bibsonomy.org/bibtex/287c64c8fe1149284fb127a33092697b6/neilernst}, keywords = {evolution requirements business} } @inproceedings{jiang08icse, title = {Incremental Latent Semantic Indexing for Effective, Automatic Traceability Link Evolution Management}, address = {Leipzig, Germany}, author = {Hsin-Yi Jiang and Tien Nguyen and Ing-Xiang Chen}, booktitle = {Intl Conf. on Software Engineering}, month = {May}, year = 2008, abstract = {Maintaining traceability links among software artifacts is particularly important for many software engineering tasks. Even though automatic traceability link recovery tools are successful in identifying the semantic connections among software artifacts produced during software development, no existing traceability link management approach can e®ec- tively and automatically deal with software evolution. We propose a technique to automatically manage traceability link evolution and update the links in evolving software. Our novel technique, called incremental Latent Semantic Index- ing (iLSI), allows the fast and low-cost LSI computation for the update of traceability links by analyzing the changes to software artifacts and by re-using the results from previous LSI computation before the changes. We present our iLSI technique, and describe a complete automatic traceability link evolution management tool, TLEM, that is capable of interactively and quickly updating traceability links in the presence of evolving software artifacts. We report on our empirical evaluation with various experimental studies to assess the performance and usefulness of our approach.}, biburl = {http://www.bibsonomy.org/bibtex/2c46d19a954b854e23d9ce9bd859fb8e2/neilernst}, keywords = {Evolution traceability} } @techreport{lamantia07, title = {Evolution Analysis of Large-Scale Software Systems Using Design Structure Matrices and Design Rule Theory}, author = {Matthew J. LaMantia and Yuanfang Cai and Alan D. MacCormack and John Rusnak}, institution = {Harvard Business School}, month = {June}, number = {07-081}, type = {Technical report}, year = 2007, url = {http://hbswk.hbs.edu/item/5699.html}, abstract = {Designers often seek modular architectures to better accommodate expected changes and to enable parallel development. However, we lack a formal theory and model of modularity and software evolution, which can be used for description, prediction, and prescription. According to Baldwin and Clark's theory, modular architectures add value to system designs by creating options to improve the system by substituting or experimenting on individual modules. In this paper, we evaluate their theory by looking at the design evolution of two software product platforms through the modeling lens of design structure matrices (DSMs) and design rule theory. Our analysis shows that DSM models and options theory can explain how real-world modularization activities in one case allowed for different rates of evolution in different software modules and in another case conferred distinct strategic advantages on a firm (by permitting substitution of an at-risk software module without substantial change to the rest of the system). The experiment supports our hypothesis that these formal models and theory can account for important aspects of software design evolution in large-scale systems.}, biburl = {http://www.bibsonomy.org/bibtex/2c6d8f187fea91e257f4f18c1800cfe3b/neilernst}, keywords = {systems evolution business} } @inproceedings{mylopoulos07drw, title = {Dynamically evolving requirements}, address = {Case Western University, Cleveland, OH}, author = {John Mylopoulos and Neil Ernst}, booktitle = {Design Requirements Workshop}, month = {June}, note = {position paper}, publisher = {NSF}, year = 2007, url = {http://weatherhead.case.edu/requirements/reqs-attend.html}, biburl = {http://www.bibsonomy.org/bibtex/23d2e9b359d07b65799b09854240afe07/neilernst}, keywords = {requirements personal evolution} } @inproceedings{sneed07modse, title = {The Drawbacks of Model-Driven Software Evolution}, address = {Amsterdam}, author = {Harry Sneed}, booktitle = {Workshop on Model-Driven Software Evolution at CSMR}, month = {March}, year = 2007, url = {http://www.sciences.univ-nantes.fr/MoDSE2007/p9.pdf}, abstract = {This short paper is an essay on the drawbacks of model driven software evolution which apply equally well to model driven software development. The idea of automatically generating code changes from a UML type model is equally enticing as that of automatically generating whole components from such a model. The drawback is that there is then nothing to test against, since there is only one description of the system, the model. This violates the principles of software verification and validation, according to which correctness can only be demonstrated by comparing two independent descriptions of the same solution. For this reason, the author proposes another interpretation of model driven evolution, one in which the requirements model serves as a basis for propagating changes to both the code and the test, along two independent paths. The UML type system design could then be generated from the code and not [vice] versa}, biburl = {http://www.bibsonomy.org/bibtex/20194bcfa92f21ac8ea1a6eae482d5cb2/neilernst}, keywords = {model Software evolution} } @article{kadir04, title = {Relating evolving business rules to software design}, author = {W. M. N. Wan-Kadir and Pericles Loucopoulos}, journal = {Journal of Systems Architecture}, month = {#jul#}, note = {Adaptable System/Software Architectures}, number = 7, pages = {367--382}, volume = 50, year = 2004, url = {http://www.sciencedirect.com/science/article/B6V1F-4B3MV6W-3/2/d6210685d0d23b70e28c9c4ea48c3dcf}, abstract = {In order to remain useful, it is important for software to evolve according to the changes in its business environment. Business rules, which can be used to represent both user requirements and conditions to which the system should conform, are considered as the most volatile part in today's software applications. Their changes bring high impact on both the business processes and the software itself. In this paper, we present an approach that considers business rules as an integral part of a software system and its evolution. The approach transcends the areas of requirements specification and software design. We develop the Business Rule Model to capture and specify business rules, and the Link Model to relate business rules to the metamodel level of software design elements. The aim is to improve requirements traceability in software design, as well as minimizing the efforts of software changes due to the changes of business rules. The approach is demonstrated using examples from an industrial application.}, biburl = {http://www.bibsonomy.org/bibtex/2016a71c6014bd36e5d0c1e648350600f/neilernst}, keywords = {requirements User Business rules architecture/design evolution Software} } @article{cleland03b, title = {Event-based traceability for managing evolutionary change}, author = {J. Cleland-Huang and C.K. Chang and M. Christensen}, journal = {Transactions on Software Engineering}, month = {September}, number = 9, pages = {796- 810}, volume = 29, year = 2003, url = {http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1232285}, issn = {0098-5589}, doi = {10.1109/TSE.2003.1232285}, description = {IEEE Xplore# Wrapper Result}, abstract = {Although the benefits of requirements traceability are widely recognized, the actual practice of maintaining a traceability scheme is not always entirely successful. The traceability infrastructure underlying a software system tends to erode over its lifetime, as time-pressured practitioners fail to consistently maintain links and update impacted artifacts each time a change occurs, even with the support of automated systems. This paper proposes a new method of traceability based upon event-notification and is applicable even in a heterogeneous and globally distributed development environment. Traceable artifacts are no longer tightly coupled but are linked through an event service, which creates an environment in which change is handled more efficiently, and artifacts and their related links are maintained in a restorable state. The method also supports enhanced project management for the process of updating and maintaining the system artifacts.}, biburl = {http://www.bibsonomy.org/bibtex/2aa561c5b9c003f255fa2f9f0d5cedd8c/neilernst}, keywords = {traceability requirements evolution} } @inproceedings{basili81, title = {Evaluation of a software requirements document by analysis of change data}, address = {San Diego, USA}, author = {Victor R. Basili and David M. Weiss}, booktitle = {Intl Conf. on Software Engineering}, pages = {314--323}, publisher = {IEEE Press}, year = 1981, url = {http://portal.acm.org/citation.cfm?id=800078.802544}, id = {623754}, priority = {0}, isbn = {0897911466}, description = {Not previously uploaded}, abstract = {We describe in this paper an effective data collection method for evaluating software development methodologies, from definition of the objectives of the data collection to analysis of the results. We show how the data analysis can answer questions with respect to how successfully the goals of the development methodology are met. The A-7 requirements document is used as an example. We provide the results of data analyses conducted partway through the A-7 flight software development cycle, and discuss the utility of information obtained by such partial analyses. Results from the study show that data collection is feasible and useful when performed as part of configuration control, that data distributions based on partial data provide useful feedback to the developers, and that the A-7 Requirements Document is easily maintained and changed.}, biburl = {http://www.bibsonomy.org/bibtex/20124aa9953debe80c145042bef84d7eb/neilernst}, keywords = {requirements evolution} } @inproceedings{w_lam_requirements_1998, title = {Requirements Evolution in the Midst of Environmental Change: A Managed Approach}, address = {Florence, Italy}, author = {W. Lam and M. Loomes}, booktitle = {Euromicro Conference on Software Maintenance and Reengineering}, month = {March}, note = {Requirements evolve, not only during system development but also after a system has been installed. The aim of the work on the EVE (EVolution Engineering) project is to develop practi-cal methods for dealing with requirements evolution. This pa-per presents the early output from our work-the EVE frame-work for requirements evolution. The EVE framework is com-prised of two components: a meta-model and an associated process model. The EVE meta-model captures a set of model-ling concepts in requirements evolution, including change, impact, risk and viewpoint. The EVE process model provides technologists with a framework for handling the emergence of new or changing requirements during the lifetime of a system. The paper illustrates the EVE framework on a simple example, and highlights the importance of social and environmental re-sponsibility in requirements evolution.}, pages = {121-127}, publisher = {IEEE}, year = 1998, url = {http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=665774}, description = {zotero}, abstract = {Requirements evolve, not only during system development but also after a system has been installed. The aim of the work on the EVE (EVolution Engineering) project is to develop practi-cal methods for dealing with requirements evolution. This pa-per presents the early output from our work-the EVE frame-work for requirements evolution. The EVE framework is com-prised of two components: a meta-model and an associated process model. The EVE meta-model captures a set of model-ling concepts in requirements evolution, including change, impact, risk and viewpoint. The EVE process model provides technologists with a framework for handling the emergence of new or changing requirements during the lifetime of a system. The paper illustrates the EVE framework on a simple example, and highlights the importance of social and environmental re-sponsibility in requirements evolution.}, biburl = {http://www.bibsonomy.org/bibtex/201f1ebd9c0df9c02f2851cf1ebcd27d5/neilernst}, keywords = {model evolution Requirements change} } @article{girba06, title = {Modeling history to analyze software evolution}, author = {Tudor Gîrba and Stéphane Ducasse}, journal = {Journal of Software Maintenance and Evolution: Research and Practice}, number = 3, pages = {207-236}, volume = 18, year = 2006, url = {http://dx.doi.org/10.1002/smr.325}, ee = {http://dx.doi.org/10.1002/smr.325}, date = {2007-01-11}, description = {Presents a meta-model of software evolution, little focus on requirements}, abstract = {The histories of software systems hold useful information when reasoning about the systems at hand or when reasoning about general laws of software evolution. Over the past 30 years, research has been increasingly spent on understanding software evolution. However, the approaches developed so far do not rely on an explicit meta-model and, thus, they make it difficult to reuse or compare their results. We argue that there is a need for an explicit meta-model for software evolution analysis. We present a survey of the evolution analyses and deduce a set of requirements that an evolution meta-model should have. We define Hismo, a meta-model in which history is modeled as an explicit entity. Hismo adds a time layer on top of structural information, and provides a common infrastructure for expressing and combining evolution analyses and structural analyses. We validate the usefulness of our meta-model by presenting how different analyses are expressed on it.}, biburl = {http://www.bibsonomy.org/bibtex/2737aeaee273faae15b9029dcfd0ea790/neilernst}, keywords = {modeling software visualization evolution} }