Bachelor and Master Theses

Title: Application of Bayesian network learners using non-static code metrics for software fault prediction
Subject: Computer Science
Level: Advanced
Description: Background of the work (e.g. information on the company, the project)
“Application of Bayesian network learners using non-static code metrics for software fault prediction” is a topic of research-based Master thesis. Motivation for this thesis is in the fact that one of the main challenges in software development is the ability to detect software faults on time. Software fault predictions give a possibility to engineers to be focused on fault-prone code, which will lead to improvement of software quality [1].

Goals or the problems (i.e. what should be solved)
When we are performing fault prediction, there can occur situations where we do not have specific metrics for different modules. One of the features of Bayesian network is to subsist with data sets that are not presented. For this reason, one of the possible solutions for software fault prediction can be recognized in usage of Bayesian networks [2]. A Bayesian network, or also known as a belief network, represents a model or probabilistic directed acyclic graphical model that forms a set of random variables and their conditional dependences via a directed acyclic graph (DAG). For the cases, such as software products, the usage of Bayesian network can be illustrated through relationship between software features and possible faults. The network can be used for computing probabilities of the presence of different faults for specified features [3]. That way we will know which faults are possible to occur and we can control and isolate them. In [4], authors are proposing and analyzing usage of Bayesian network learners into static code metrics for software fault prediction and it has produced good results. However, they state the following:

“Recently, several researchers turned their attention to another topic of interest, i.e., the inclusion of information other than static code features into fault prediction models such as information on intermodule relations and requirement metrics. The relation to the more commonly used static code features remains however unclear. Using, e.g., Bayesian network learners, important insights into these different information sources could be gained which is left as a topic for future research.” [4],

Non-static code metrics are still not investigated to a greater extent for software fault prediction, which gives us space to do research in that direction.

The structure of the thesis will be driven by the following research questions:

RQ1. What is the current state of art with respect to the use of non-static code metrics for software fault prediction?
RQ2. How do Bayesian network learners perform for software fault prediction, in comparison with typical learners, when using non-static code metrics?

The thesis will consist of two parts:
1. A literature review on non-static code metrics for software fault prediction;
2. Practical part where we will compare non-static code metrics with static code metrics and apply a number of Bayesian learners.

For the purposes of this thesis, following research methods will be used:
1. Literature review – Answering RQ1.
2. Experiment – Answering RQ2.

Expected outcomes (i.e. what concrete results do you expect to have when the work is done)
Results of analysis on non-static code metrics compared with static code metrics, with number of Bayesian learners being applied.

Initial time plan
The initial plan for the thesis work will be split into several activities:
1. Analyzing papers and choosing suitable features of non-static code metrics (estimation 7 weeks);
2. Usage of Bayesian network learners for software fault prediction using non-static code metrics (estimation 6 weeks);
3. Repeat experiments with static code metrics to compare results with non-static code metrics (estimation 2 week);
4. Writing a report and incorporating feedback from the advisor (estimation 5 weeks).
Prel. end date: 2015-06-07
Student: Biljana Stanic
IDT supervisor: Wasif Afzal
Examinator: Antonio Cicchetti
Antonio Cicchetti, +46-21-151762

Rapport och bilagor


Senaste uppdatering

  • Mälardalen University |
  • Box 883 |
  • 721 23 Västerås/Eskilstuna |
  • 021-101300, 016-153600 |
  • webmaster |
  • Latest update: 2018.05.24