formal foundations of software evolution workshop 1 understanding software evolution using a...
TRANSCRIPT
Formal Foundations of Software Evolution Workshop
1
Understanding Software Evolution
using a Flexible Query Engine
Michele LanzaSoftware Composition Group
University Of Bern
Formal Foundations of Software Evolution Workshop
2
Environment
The Query Engine• A query returns “hits” from a large
data collection• A composite query can be
composed of several (sub)queries by using logical operators
• The “basic” queries are based on type, name, properties and metrics
• A query can have an environment, i.e. subcondition(s) which must be fulfilled as well
Moose,our Repository of Software Entities
Query
QueryQueryAND
OR
QueryNOT
Query
Formal Foundations of Software Evolution Workshop
3
Queries for Software Evolution• Our repository can contain several versions of
the same software in parallel• In the context of Software Evolution, the queries
aim at the differences and similarities between different versions of the same software entity
• The Queries must be fine-tuned and adapted to its context, i.e. the analyzed software
Formal Foundations of Software Evolution Workshop
4
The Problems of the Approach
• Renamed entities– different versions of the same entity do not have an
explicit connection, WE must establish it. This may result in a possible loss of information
• The Queries still need:– a good formalism– a good naming scheme
Formal Foundations of Software Evolution Workshop
5
Conclusion & Future Work
• Conclusion: the approach works well, but...– needs more refinement– we need more experiences– we need a (standard) repository of Queries
• Future Work: further refine the Query Engine– internally: increase flexibility & adaptability– externally: Graphical User Interface