Difference between revisions of "Main Page"

From ERCIM Working Group Software Evolution
Jump to: navigation, search
(Topics)
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:
  
<ul>
+
* re-engineering and reverse engineering
<li>re-engineering and reverse engineering</li>
+
* software restructuring, refactoring and renovation
<li>software restructuring, refactoring and renovation</li>
+
* model-driven software engineering and model transformation
<li>model-driven software engineering and model transformation</li>
+
* migration and revitalisation of legacy software
<li>migration and revitalisation of legacy software</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>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>
+
* consistency maintenance and inconsistency management
<li>consistency maintenance and inconsistency management</li>
+
* co-evolution and conformance checking of architecture, design and implementation
<li>co-evolution and conformance checking of architecture, design and implementation</li>
+
* impact analysis, effort estimation, cost prediction, evolution metrics
<li>impact analysis, effort estimation, cost prediction, evolution metrics</li>
+
* traceability analysis and change propagation
<li>traceability analysis and change propagation</li>
+
* version control, release history analysis and configuration management
<li>version control, release history analysis and configuration management</li>
+
* run-time adaptation and dynamic reconfiguration
<li>run-time adaptation and dynamic reconfiguration</li>
+
* product family and product-line engineering
<li>product family and product-line engineering</li>
+
* methods, processes and tools for managing software evolution
<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