Special issue on the 12th conference on software maintenance and reengineering (CSMR 2008)

Kostas Kontogiannis, Christos Tjortjis, Andreas J. Winter · Journal of Software Maintenance and Evolution Research and Practice · 2009

Software maintenance and reengineering are vital software engineering activities for facilitating the evolution of large software systems. However, software maintenance is not only to be considered for existing systems, but also for new systems, where software models and artefacts evolve as part of iterative and incremental development processes. The Conference on Software Maintenance and Reengineering is the premier European forum to discuss the theory and practice of software maintenance, reengineering, and evolution of software systems. CSMR promotes fruitful discussion and exchange of experiences among researchers and practitioners about the development of maintainable systems, and their evolution, migration and reengineering. This special issue comprises extended versions of three papers, presented at CSMR 2008. The 12th CSMR focused on ‘Developing evolvable systems’. The need for systems to evolve in shorter timescales and with increased quality necessitates developing maintainable and evolvable systems. Defining, achieving, and assessing ‘evolvability’, as well as issues related to processes for developing evolvable software systems are open challenges. The CSMR 2008 technical program covered a wide range of current research activities in software maintenance and reengineering, as well as industrial and academic experience reports. It included keynote talks on future trends in Software Reengineering by John Mylopoulos (University of Toronto) on ‘Software Agents’ and by Jürgen Ebert (University of Koblenz-Landau) on the serious use of ‘Metamodels in Reengineering’. The topics on technical sessions showed the current trends in our field. These include: Supporting Evolution, Code Analysis, Reverse Engineering, Reengineering and Reuse, Aspect Orientation, and Ontologies. The program was complemented by tool demonstrations, industrial reports, a doctoral symposium, and four workshops. Papers were submitted from 26 countries covering all inhabited continents. Out of 87 submitted papers, 24 full papers were selected for presentation at CSMR 08. The authors of six selected papers, based on their suitability and quality as indicated by the reviewers, were invited to submit extended versions of their papers which went through a rigorous review process involving at least three reviewers. Eventually, three papers were selected for this special issue. Dynamic Update of Java Applications—Balancing Change Flexibility vs. Programming Transparency by Alan Gregersen and Bo Jørgensen deals with the dynamic change of software behaviour. The paper presents and discusses an approach to dynamically updating running Java applications while guaranteeing type and thread safety. Splitting a Large Software Repository for Easing Future Software Evolution—An Industrial Experience Report by Marco Glorie, Andy Zaidman, Arie van Deursen, and Lennart Hofland presents lessons learned in improving the maintainability of huge industrial software systems. The paper discusses the feasibility of using formal concept analysis and cluster analysis to split software repositories in industrial scale settings. An Evaluation of Code Similarity Identification for the Grow-and-Prune Model by Thilo Mende, Rainer Koschke, and Felix Beckwermert addresses incremental software evolution and quality improvement of software systems. This paper presents and evaluates the use of clone detection techniques and similarity measures to merge code clones which had originated in deliberated copying that requires additional refactoring.

Read the paper · More papers on PaperTik