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, contact Henning Schnoor directly.

Upcoming Events

  • Apr 19, 2021 09:00 AM to Apr 23, 2021 04:00 PM Rennes ICPE 2021
  • May 24, 2021 09:00 AM to May 28, 2021 04:00 PM Virtual ICSE 2021
  • Aug 23, 2021 09:00 AM to Aug 27, 2021 04:00 PM Athens, Greece ESEC/FSE 2021
  • Sep 27, 2021 09:00 AM to Sep 28, 2021 04:00 PM Luxembourg VISSOFT 2021
  • Oct 04, 2021 09:00 AM to Oct 08, 2021 04:00 PM San Francisco IC2E 2021
Research Projects

Teaching