Mining Software Repositories for Evaluating Software Engineering Properties of Language Designs

PDF Download Download Paper


Improved separation of concern is important for dealing with increasing complexity of today's software systems. A number of language designs have been proposed in the last decade with the common goal to improve the separation of concerns by providing better modularization mechanisms e.g. mixins, units, roles, layers, hyperspaces, events, aspects, etc. To understand the benefits of a new modularization mechanism, it is important to apply it to real world large scale software systems, where there are real needs for separation of concerns. However, large scale software projects are generally managed very cautiously and adoption of a new technique in these projects is generally harder to achieve. Typically such adoption is driven by demonstrated success of the technique in other large scale projects, a catch-22 situation. In this position paper, I discuss a software repository mining-based technique to achieve the effect of adoption in a large scale software project in a controlled setting. Rich change history available in the version control systems for open source software projects, and advances in software repository mining enable this technique for empirical evaluation of a modularization mechanism.

Bib Info

  author = {Hridesh Rajan},
  title = {Mining Software Repositories for Evaluating Software Engineering Properties of Language Designs},
  booktitle = {2nd Workshop on Assessment of Contemporary Modularization Techniques (ACoM.08)},
  year = {2008},
  month = {October},
  location = {Nashville, TN},