Software Engineering Group

Bachelorproject Dynamic Software Quality Metrics

To measure the quality of software on a source-code level, several software quality metrics have been introduced. Among the most often studies ones are coupling and cohesion:

  • Coupling measures the dependence between different parts (e.g., packages, classes) of a software product,
  • Cohesion similarly measures the ``internal'' dependence between different parts (e.g., classes) inside an organizational unit (i.e., a package) of a software product.

As a guideline, usually low coupling and high cohesion are considered desirable to achieve a high degree of maintainability. 

Usually, coupling and cohesion are studied in a static setting, i.e., by analyzing the source code of a program. However, due to object-oriented language features like polymorhisms and dynamic binding, static measures are not considered sufficient for the analysis of many modern software systems.

The goal of a current research project in our working group is to develop new software metrics that take dynamic data into account.  In addition to addressing the above-mentioned concerns, we are also interested in a quantitative analysis: In addition to the question which classes (or methods) of a software system depend on each other, such a metric also takes the number of "connections" (e.g., method calls between classes) into account. The new measures will then be compared to existing static ones, and their usefulness will be evaluated using e.g., statistical methods and correlations with data from software repositories.

To allow for testing and evaluating of such measures, we collected run-time data of an instance of Atlassian Jira, which was used in the latest iteration of the Softwareprojekt

Concrete topics for a possible bachelor's thesis in this project include implementation and adaptation of several tools necessary for the project, including:

  • measurement of dynamic software quality metrics from the above-mentioned collected data,
  • measurement of static quality metrics from given Java programs (either compiled or given as sourcr code),
  • statistical comparisons of different software metrics,
  • aggregation of different measures.

 

For details, come to our presentation of open projects on April 12, or contact Henning Schnoor directly.

Upcoming Events

  • Sep 04, 2017 09:00 AM to Sep 05, 2017 06:00 PM Geneva, Switzerland SERENE 2017
Research Projects

  • more...

     ExplorVizLogo160x37[1].png    iobserve-logo-small    CloudMIG Xpress

     

    Future-Ocean-logo    kieker-logo       PubFlow

     

    teetime-logo   SpratGeRDI

Teaching