View other issues

Contents

×

Warning

JLIB_APPLICATION_ERROR_COMPONENT_NOT_LOADING
by Tom Mens and Jacques Klein

As chair and member of the ERCIM Working Group on Software Evolution, we are honoured to act as guest editors for this issue of ERCIM News with the special theme of Evolving Software. The importance of software in our information society cannot be underestimated: just imagine what would happen if all software systems around us failed. There would be no television, no radio, no Internet, no financial transactions and e-commerce, no energy production, huge problems in public transport, and the list goes on.

In the late 1960s it became clear that in order to cope with the rising complexity of software systems, more disciplined techniques were needed. This need gave rise to the first international conference on Software Engineering, organized by the NATO Science Committee, in 1968. Its goal was “the establishment and use of sound engineering principles in order to obtain reliable, efficient and economically viable software”. Inspired by this, Belady and Lehman explored and emphasized the role of program evolution and evolution dynamics in the seventies. Their work gave rise to Lehman's “laws of software evolution”, an area that is still under active study today by many researchers. The need for software evolution was also acknowledged by other authorities, such as Fred Brooks who stated in his book “The Mythical Man-Month” that any successful software will inevitably need to be maintained in order to remain viable over time.

Today, four decades later, the relevance of software evolution has only increased. Software evolution will always remain inevitable due to a wide variety of factors: users that wish to have new features, bugs that need to be fixed, market pressure by competitors, technological changes in the environment with which the software needs to interact, performance issues that need to be dealt with, and so on. To accommodate these change requests, the software product needs to be changed and improved on a regular basis. In parallel to this, the software process itself is also subject to improvement, in order to produce new versions of the software more quickly and cost-effectively, without compromising software quality.

As can be witnessed from the keynote by Joost Visser from SIG earlier in this issue, the need to evolve software is of utmost importance to all software-producing and software-consuming companies. The aim of this theme issue of ERCIM News is therefore to raise awareness of this need, and to present a portfolio of scientific research on evolving software that is currently ongoing in many research groups all over Europe. Although only a few of the many European research groups actively involved in software evolution have contributed to this theme issue, the presented articles provide a representative and well-balanced overview of what is going on in the field. They cover a wide range of activities:
• “Understanding” how the software has evolved in the past; how development teams collaborate to evolve software more effectively; and so on
• “Modelling” the process of software evolution
• “Predicting” how the software product quality (eg in terms of defects) will evolve in the future
• “Controlling” the evolution process (eg Do we deliver new releases in time and within budget? Do the releases fix bugs and include new features requested by the user?) and the product (eg Is the product of sufficient quality and performance?)
• “Automating” the evolution process (eg by using workflow software, by detecting and reporting process deviations on the fly), by providing real-time recommendations to developers (such as code completion, conflict detection)
• “Visualizing” software evolution
• “Improving” the software process and the software product

This theme issue includes four exciting invited papers written by recognized European researchers in the field: Michele Lanza (Switzerland), Xavier Blanc (France), Alexander Serebrenik (The Netherlands) and Theo D’Hondt (Belgium). These papers go from a holistic view of software evolution (dealing with a software system as a whole to better see the forest for the trees), to more specific application domain such as software for the Internet and the use of new measurement techniques for software quality.

Twenty-six regular papers have been selected. They form a representative palette of research projects in the field at both European and national levels. They also demonstrate the importance of software evolution through concrete case studies, and show that software evolution does not focus only on pure IT systems (object-oriented and service-oriented software, software-intensive networked systems, legacy systems, free and open source software, middleware etc) but is also extremely relevant in application domains such as automotive, molecular modelling, information systems, geographic information systems, mobile computing, and so on.

This selection of papers gives a clear overview of both traditional and emerging software engineering techniques, tools and approaches used by software evolution experts. Examples of such techniques are software/data analysis, data visualization, software metrics, software architecting, meta-programming, and more general paradigms like model-driven engineering (MDE) and software product line engineering (SPLE). These techniques provide a portfolio for tool developers to build dedicated software evolution tools. These tools are vital in order to better understand, manage and anticipate software evolution.

We hope that these articles will convince you of the importance, relevance and challenges in software evolution research and practice in Europe. Enjoy!

Link:
ERCIM Software Evolution Working Group:
http:/wiki.ercim.eu/wg/SoftwareEvolution

Please contact:
Tom Mens,
University of Mons, Belgium
E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.

Jacques Klein
University of Luxembourg
E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.

Further Reading:

  • Software Evolution, T. Mens and S. Demeyer (Editors), Springer, 2008. ISBN 978-3-540-76439-7.
  • Software Evolution: Maintaining Stakeholders’ Satisfaction in a Changing World. T. Mens, Y.-G. Guéhéneuc, J. Fernández-Ramil, M. D’Hondt (Guest Editors), IEEE Software 27: 4. 22-25 July/August, 2010

Upcoming conferences:

CSMR 2012: 16th IEEE European Conference on Software Maintenance and Reengineering, Szeged, Hungary, 27-30 March 2012

ICSM 2012: 28th IEEE International Conference on Software Maintenance, Trento, Italy, 23-30 September 2012

{jcomments on}