Change-oriented software engineering

We propose a first-class change model for Change-Oriented Software Engineering (COSE). Based on an evolution scenario, we identify a lack of support in current Interactive Development Environments (IDEs) to apply COSE. We introduce a set of five extensions to an existing model of first-class changes and describe the desired behaviour of change-oriented IDEs to support COSE. With the help of an evolution scenario, we show why those extensions are required. Finally we describe ChEOPS: a prototypical implementation of a change-oriented IDE on top of VisualWorks and illustrate how it supports the extended first-class change model. ChEOPS is finally used to validate COSE as a solution for the shortcomings of existing IDEs.

[1]  Romain Robbes,et al.  A Change-based Approach to Software Evolution , 2006, EVOL.

[2]  Romain Robbes,et al.  Versioning systems for evolution research , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[3]  Serge Demeyer,et al.  FAMIX 2. 1-the FAMOOS information exchange model , 1999 .

[4]  Ralph E. Johnson,et al.  MolhadoRef: a refactoring-aware software configuration management tool , 2006, OOPSLA '06.

[5]  Kim Mens,et al.  Supporting software development through declaratively codified programming patterns , 2002, Expert Syst. Appl..

[6]  John Brant,et al.  The Refactoring Browser , 1998, ECOOP Workshops.

[7]  K. Barraclough Eclipse , 2006, BMJ : British Medical Journal.

[8]  Adrian Cho,et al.  Mastering ENVY/Developer , 2001 .

[9]  Jacky Estublier Software configuration management: a roadmap , 2000, ICSE '00.

[10]  Günter Kniesel,et al.  Static composition of refactorings , 2004, Sci. Comput. Program..

[11]  Torbjörn Ekman,et al.  Refactoring-aware versioning in Eclipse , 2004, Electron. Notes Theor. Comput. Sci..

[12]  J. Henkel,et al.  CatchUp! Capturing and replaying refactorings to support API evolution , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[13]  Stéphane Ducasse,et al.  Why FAMIX and not UML? - UML Shortcomings for Coping with Round-trip Engineering , 1999 .

[14]  Peter Ebraert Enabling Dynamic Software Evolution through Automatic Refactoring , 2004 .