60 likes | 184 Views
Understanding Software Evolution using a Flexible Query Engine. Michele Lanza Software Composition Group University Of Bern. The Query Engine. Moose, our Repository of Software Entities. A query returns “hits” from a large data collection
E N D
Understanding Software Evolution using a Flexible Query Engine Michele Lanza Software Composition Group University Of Bern Formal Foundations of Software Evolution Workshop
The Query Engine Moose, our Repository of Software Entities • 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 Query AND Query Query OR NOT Query Environment Query Formal Foundations of Software Evolution Workshop
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
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
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 Formal Foundations of Software Evolution Workshop