Main Page: Difference between revisions

From ERCIM Working Group Software Evolution
No edit summary
Line 11: Line 11:
The kind of evolution problems that will be addressed by this WG are very diverse. Below we mention a tentative, but inevitably incomplete, list of topics that will be addressed:
The kind of evolution problems that will be addressed by this WG are very diverse. Below we mention a tentative, but inevitably incomplete, list of topics that will be addressed:


* re-engineering and reverse engineering
<ul>
* software restructuring, refactoring and renovation
<li>re-engineering and reverse engineering</li>
* model-driven software engineering and model transformation
<li>software restructuring, refactoring and renovation</li>
* migration and revitalisation of legacy software
<li>model-driven software engineering and model transformation</li>
* specification or analysis of the evolution of all types of software artifacts at all levels (e.g., requirement specifications, models, metamodels, architectures, programs, test cases, documentation, bug reports, version control information, log files, release histories, language descriptions, APIs, protocols)
<li>migration and revitalisation of legacy software</li>
* consistency maintenance and inconsistency management
<li>specification or analysis of the evolution of all types of software artifacts at all levels (e.g., requirement specifications, models, metamodels, architectures, programs, test cases, documentation, bug reports, version control information, log files, release histories, language descriptions, APIs, protocols)</li>
* co-evolution and conformance checking of architecture, design and implementation
<li>consistency maintenance and inconsistency management</li>
* impact analysis, effort estimation, cost prediction, evolution metrics
<li>co-evolution and conformance checking of architecture, design and implementation</li>
* traceability analysis and change propagation
<li>impact analysis, effort estimation, cost prediction, evolution metrics</li>
* version control, release history analysis and configuration management
<li>traceability analysis and change propagation</li>
* run-time adaptation and dynamic reconfiguration
<li>version control, release history analysis and configuration management</li>
* product family and product-line engineering
<li>run-time adaptation and dynamic reconfiguration</li>
* methods, processes and tools for managing software evolution
<li>product family and product-line engineering</li>
<li>methods, processes and tools for managing software evolution</li>
* development of a formal theory of software and systems evolution
<li>development of a formal theory of software and systems evolution</li>
</ul>

Revision as of 16:33, 4 February 2009

Research Context

Numerous scientific studies of large-scale software systems have shown that most of the effort and cost spent in large software projects goes to the maintenance and evolution of existing software systems as opposed to the development of new systems from scratch. This is mainly due to the fact that software systems need to evolve continually to cope with ever-changing software requirements. Today, this is more than ever the case. Nevertheless, existing tools that try to provide support for evolution have many limitations. They are (programming) language dependent, not scalable, difficult to integrate with other tools, and they lack formal foundations.

Goals

The main goal of the proposed WG is to understand the phenomenon of software evolution, and to develop well-founded and disciplined tools and techniques to support software developers with the common problems they encounter when evolving large and complex software systems. With this initiative, we plan to become a Virtual European Research and Training Centre on Software Evolution.

Topics

The kind of evolution problems that will be addressed by this WG are very diverse. Below we mention a tentative, but inevitably incomplete, list of topics that will be addressed:

  • re-engineering and reverse engineering
  • software restructuring, refactoring and renovation
  • model-driven software engineering and model transformation
  • migration and revitalisation of legacy software
  • specification or analysis of the evolution of all types of software artifacts at all levels (e.g., requirement specifications, models, metamodels, architectures, programs, test cases, documentation, bug reports, version control information, log files, release histories, language descriptions, APIs, protocols)
  • consistency maintenance and inconsistency management
  • co-evolution and conformance checking of architecture, design and implementation
  • impact analysis, effort estimation, cost prediction, evolution metrics
  • traceability analysis and change propagation
  • version control, release history analysis and configuration management
  • run-time adaptation and dynamic reconfiguration
  • product family and product-line engineering
  • methods, processes and tools for managing software evolution
  • development of a formal theory of software and systems evolution