A software application has strong relationships with the business processes it supports. In the analysis phase those parts of the processes in which the software system is applied...
The evolution of any software product over its lifetime is unavoidable, caused both by bugs to be fixed and by new requirements appearing in the later stages of the product's...
Evolutionary annotations are descriptions of how source code evolves over time. Typical source comments, given their static nature, are usually inadequate for describing how a pro...
Software merging is a common and essential activity during the lifespan of large-scale software systems. Traditional textual merge techniques are inadequate for detecting syntacti...
Evolutionary techniques provide powerful tools to design novel solutions for hard problems in different areas. However, the problem of scale (i.e. how to create a large, complex s...