|
|
Project presentation
The ever increasing impact of software systems and the high degree of societal
dependence with respect to them, especially for infrastructure make it extremely
important for software to evolve, in order to adapt to the new social and economic
needs. To make software evolution possible, a superior quality of its design and
implementation process must be ensured. for this reason, existing software must be
continuously supported by automated systems for analysis, diagnose and
improvement of code and design.
The project proposes an agile (continuous) approach
to quality assurance for complex software systems, at the level of code (by means
of static analysis and testing) and design (by means of metrics-based detection and
correction of design flaws). The proposed approach aims to:
- Develop new demand-driven,fast local analyses for object-oriented code,and
increase the precision of analyses by exploiting advances in decision
procedures and invariant detection;
- Integrate automated test generation techniques with dynamic invariant generation
and static checking into an iterative process which generates test suites together
with expected correct results, while minimizing user input;
- Transform design assessment from a standalone activity in a continuous (agile)
process, perfectly integrated in the development process;
- Bridge the gap between design flaw detection and complex restructurings by
means of correction plans;
- Integrate techniques related to design and coding flaw detection;
- Support the analysis of industrial-size software systems implemented in the
main currently used programming languages (C++, Java, C#).
Building such a system will allow the
automation of analyses for large-scale software systems, the precise identification
of functional and design flaws through the possibility of applying multiple
analyses in a uniform fashion, and to obtain superior results by correlating
various analysis types.
|
Last Update: 20 Octomber, 2009
|