ABSTRACT
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.
- Estublier, J.: Software configuration management: a roadmap. In: ICSE -- Future of Software Engineering Track. (2000) 279--289 Google ScholarDigital Library
- Robbes, R., Lanza, M.: Versioning systems for evolution research. In: Proceedings of Eighth International Workshop on Principles of Software Evolution, IEEE Computer Society (2005) 155--164 Google ScholarDigital Library
- Robbes, R., Lanza, M.: A change-based approach to software evolution. Electronic Notes in Theoretical Computer Science (2007) 93--109 Google ScholarDigital Library
- Howard, T., Goldberg, A.: VisualWorks -- Application Developer's Guide. Cincom Systems (1993-2005)Google Scholar
- University of Illinois at Urbana-Champaign: Visualworks: Change list tool. http://wiki.cs.uiuc.edu/VisualWorks/Change+List+Tool (2007)Google Scholar
- Mens, K., Michiels, I., Wuyts, R.: Supporting software development through declaratively codified programming patterns. In: Journal on Expert Systems with Applications. Volume 23., Elsevier Publications (2002) 405--413Google Scholar
- The Eclipse Corporation: Eclipse. http://eclipse.org (2007)Google Scholar
- Demeyer, S., Tichelaar, S., Steyaert, P.: FAMIX 2.0 - the FAMOOS information exchange model. Technical report, University of Berne (1999)Google Scholar
- Demeyer, S., Ducasse, S., Tichelaar, S.: Why famix and not uml? uml shortcomings for coping with round-trip engineering. UML'99 Conference Proceedings (1999) Google ScholarDigital Library
- Ebraert, P., Mens, T., D'Hondt, T.: Enabling dynamic software evolution through automatic refactorings. In: Proceedings of the Workshop on Software Evolution Transformations (SET2004), Delft, Netherlands (2004)Google Scholar
- Price, D. R.: Cvs - open source version control. http://www.nongnu.org/cvs/ (2006)Google Scholar
- CollabNet: Subversion. http://subversion.tigris.org/ (2006)Google Scholar
- Henkel, J., Diwan, A.: Catchup!: capturing and replaying refactorings to support api evolution. In: ICSE '05: Proceedings of the 27th international conference on Software engineering. (2005) 274--283 Google ScholarDigital Library
- AJC Software: Ajc active backup. http://www.ajcsoft.com/AJCActBk.php (2007)Google Scholar
- Mogware: Filehamster - a personal revision control solution for content creators. http://www.mogware.com/FileHamster/ (2006) {Last accessed 30 May 2007}.Google Scholar
- Brant, J., Roberts, D.: Refactoring browser. Technical report, http://wiki.cs.uiuc.edu/RefactoringBrowser (1999)Google Scholar
- Dig, D., Nguyen, T. N., Manzoor, K., Johnson, R.: Molhadoref: a refactoring-aware software configuration management tool. In: OOPSLA'06 Companion, Portland (2006) Google ScholarDigital Library
- Pelrine, J., Knight, A., Cho A. Mastering Envy/Developer Cambridge University Press (2001) Google ScholarDigital Library
- Ekman, T., Asklund, U.: Refactoring-aware versioning in eclipse. Electr. Notes Theor. Comput. Sci. 107 (2004) 57--69 Google ScholarDigital Library
- Kniesel, G., Koch, H.: Static composition of refactorings. Science of Computer Programming 52(1-3) (2004) 9--51 Google ScholarDigital Library
Recommendations
Problem Oriented Software Engineering: A design-theoretic framework for software engineering
SEFM '07: Proceedings of the Fifth IEEE International Conference on Software Engineering and Formal MethodsA key challenge for software engineering is to learn how to reconcile the formal world of the machine and its software with the non-formal real world. In this paper, we discuss elements of Problem Oriented Software Engineering (POSE), an approach that ...
Software Engineering Evolution: The History Told by ICSE
SBES '19: Proceedings of the XXXIII Brazilian Symposium on Software EngineeringSoftware Engineering knowledge has continuously grown at a very high speed. In this work, we aim to provide a perspective on how the body of knowledge of Software Engineering has evolved. For this purpose, we analyzed data of 3,300 works published from ...
A Software Engineering Ontology as Software Engineering Knowledge Representation
ICCIT '08: Proceedings of the 2008 Third International Conference on Convergence and Hybrid Information Technology - Volume 02This paper aims to present software engineering ontology as software engineering knowledge representation for a multi-site software development. It will not only facilitate the capturing of software engineering knowledge but also enhance the sharing of ...
Comments