Traceability decision making in the case of the presence of conflicts

by Egor Erofeev
Abstract:
Nowadays software systems are close connected to a large number of critical tasks in various areas of daily life. Traceability is one of the prerequisites of the ability to reach the high level quality in this and similar software and thus the critical element of any rigorous system. The traceability can be successfully applied in areas like change impact analysis and change management, software validation veriffcation and testing, software reuse, better artifact understanding, thereby increasing the quality and simplicity of software processes. The TM (traceability matrix) is one of the methods of traceability recording and representation. The TM is a document in the form of a table that correlates artifacts within the development process in respect to the traceability relations. One of the TM's disadvantages is that the relations stored in the matrix are typically captured manually and may be error prone for large and complex systems. Another problem is a very large number of decisions that an engineer has to make. This master thesis contributes an approach and algorithms to support trace analysis and minimize the impact of the trace matrix weaknesses. To make the traces establishing process easier, developers or engineers working with TM may provide dependencies between groups of artifacts instead of identifying trace relations between individual artifacts directly. The approach takes a set of such dependencies as input and transforms the input into CNF, what allows to reuse the effectiveness of SAT-solvers to performs the trace analysis and fill up cells of the trace matrix. Usage of effective SAT-solver supports excellent scalability. Additionally, the approach tolerates inconsistencies in the user input using an isolation technique and allows to perform analysis in case of the presence of conflicting dependencies as well as helps an engineer to resolve these conflicts. The empirical evaluation of the approach shows that it provides good performance and, therefore, can be applied for large systems with more than 40K cells in the trace matrix. The algorithm produces correct results following the semantic of dependencies. As expected, in case of incremental reasoning, when a developer adds dependencies step by step, the coverage of the matrix increases with each step to the maximal value. The isolation strategies demonstrate reasonable efficiency, recall and precision depending on the problem size and the number of errors. For error free problems, the algorithm requires maximal 2 seconds to complete the trace analysis even for very large problems. The approach is automatic and tool supported. It allows correct trace analysis with SAT-Solvers in the presence of conflicts and uncertainties, continue working without any adaptions and provides the user support in conflicts resolving. The isolation may be performed on different granularity levels, what facilitates the work to the comfortable level of details.
Reference:
Egor Erofeev, "Traceability decision making in the case of the presence of conflicts", Master's thesis, Johannes Kepler University (JKU), Linz, Austria, 2013. (Advisor: Alexander Egyed)
Bibtex Entry:
@MastersThesis{jku2013Erofeev,
  Title                    = {Traceability decision making in the case of the presence of conflicts},
  Author                   = {Egor Erofeev},
  School                   = {Johannes Kepler University (JKU), Linz, Austria},
  Year                     = {2013},

  Abstract                 = {Nowadays software systems are close connected to a large number of critical tasks in various areas of daily life. Traceability is one of the prerequisites of the ability to reach the high level quality in this and similar software and thus the critical element of any rigorous system. The traceability can be successfully applied in areas like change impact analysis and change management, software validation veriffcation and testing, software reuse, better artifact understanding, thereby increasing the quality and simplicity of software processes. The TM (traceability matrix) is one of the methods of traceability recording and representation. The TM is a document in the form of a table that correlates artifacts within the development process in respect to the traceability relations. One of the TM's disadvantages is that the relations stored in the matrix are typically captured manually and may be error prone for large and complex systems. Another problem is a very large number of decisions that an engineer has to make. This master thesis contributes an approach and algorithms to support trace analysis and minimize the impact of the trace matrix weaknesses. To make the traces establishing process easier, developers or engineers working with TM may provide dependencies between groups of artifacts instead of identifying trace relations between individual artifacts directly. The approach takes a set of such dependencies as input and transforms the input into CNF, what allows to reuse the effectiveness of SAT-solvers to performs the trace analysis and fill up cells of the trace matrix. Usage of effective SAT-solver supports excellent scalability. Additionally, the approach tolerates inconsistencies in the user input using an isolation technique and allows to perform analysis in case of the presence of conflicting dependencies as well as helps an engineer to resolve these conflicts. The empirical evaluation of the approach shows that it provides good performance and, therefore, can be applied for large systems with more than 40K cells in the trace matrix. The algorithm produces correct results following the semantic of dependencies. As expected, in case of incremental reasoning, when a developer adds dependencies step by step, the coverage of the matrix increases with each step to the maximal value. The isolation strategies demonstrate reasonable efficiency, recall and precision depending on the problem size and the number of errors. For error free problems, the algorithm requires maximal 2 seconds to complete the trace analysis even for very large problems. The approach is automatic and tool supported. It allows correct trace analysis with SAT-Solvers in the presence of conflicts and uncertainties, continue working without any adaptions and provides the user support in conflicts resolving. The isolation may be performed on different granularity levels, what facilitates the work to the comfortable level of details.},
  Comment                  = {Advisor: Alexander Egyed},
  File                     = {Traceability decision making in the Presence of Conflicts:MSc Theses\\2013 Egor Erofeev\\Traceability decision making in the Presence of Conflicts.pdf:PDF},
  Keywords                 = {traceability, FWF P23115-N23},
  Paper                    = {Publications/MSc Theses/2013 Egor Erofeev/Traceability decision making in the Presence of Conflicts.pdf},
  Presentation             = {Publications/MSc Theses/2013 Egor Erofeev/Traceability decision making in the Presence of Conflicts presentation.pdf},
  Url                      = {Publications/MSc Theses/2013 Egor Erofeev/Traceability decision making in the Presence of Conflicts.pdf}
}
Powered by bibtexbrowser