Authors:
Markus Scheidgen
;
Martin Smidt
and
Joachim Fischer
Affiliation:
Humboldt-Universität zu Berlin, Germany
Keyword(s):
Reverse Engineering, Software Evolution, Metrics, Mining Software Repositories, Metamodels, OCL.
Related
Ontology
Subjects/Areas/Topics:
Frameworks for Model-Driven Development
;
Languages, Tools and Architectures
;
Methodologies, Processes and Platforms
;
Model Transformation
;
Model-Driven Software Development
;
Models
;
Paradigm Trends
;
Reasoning about Models
;
Software Engineering
Abstract:
With mining software repositories (MSR), we analyze the rich data created during the whole evolution of
one or more software projects. One major obstacle in MSR is the heterogeneity and complexity of source
code as a data source. With model-based technology in general and reverse engineering in particular, we
can use abstraction to overcome this obstacle. But, this raises a new question: can we apply existing reverse
engineering frameworks that were designed to create models from a single revision of a software system to
analyze all revisions of such a system at once? This paper presents a framework that uses a combination
of EMF, the reverse engineering framework Modisco, a NoSQL-based model persistence framework, and
OCL-like expressions to create and analyze fully resolved AST-level model representations of whole source
code repositories. We evaluated the feasibility of this approach with a series of experiments on the Eclipse
code-base.