Computing MC/DC Criterion for Object-Oriented Systems

Dutta, Arpita (2017) Computing MC/DC Criterion for Object-Oriented Systems. MTech thesis.

[img]PDF (Full text is restricted upto 17.01.2020)
Restricted to Repository staff only



Modified Condition / Decision Coverage (MC/DC) is the second strongest criterion in coverage based white-box testing. According to RTCA DO-178B and DO-178C standards, it is mandatory for the safety critical systems to satisfy MC/DC criterion in order to ensure adequate testing. This work presents two different methodologies to calculate MC/DC% of a system. First, we compute MC/DC% of a software only after the completion of coding phase. There are so many techniques present to generate the test cases for a system. But, those test cases are not powerful enough to cover all the possible conditions present in the program. So, we propose a hybrid technique for MC/DC test data generation. We combine feedback-directed test case generation with concolic testing to form Java-Hybrid Concolic Testing (Java-HCT). Java-HCT generates more number of test cases since it combines the features of both. Hence, through Java-HCT we achieve high MC/DC. Combination of two approaches handles/ overcomes different tradeoffs of completeness and scalability. We develop Java-HCT using RANDOOP, jCUTE (Java Concolic Unit Testing Engine), and COPECA (COverage PErcentage CAlculator). Combination of RANDOOP and jCUTE creates more number of test cases. COPECA is used to measure MC/DC% taking the generated test cases as input. Our experiment with forty Java programs shows that Java-HCT produces better MC/DC% than individual testing techniques (feedback-directed random testing and concolic testing). We have improved MC/DC by ×1.62 and by ×1.26 in comparison to feedback-directed random testing and concolic testing, respectively.
In our second work, we compute MC/DC% of the given system, using model based approach. We have proposed a novel technique for MC/DC computation during design phase, using UML Sequence diagram. Sequence diagram presents the interactions among a set of collaborating objects. The sequences of synchronized and asynchronized messages in the sequence diagrams are used to define the code coverage goals. First, we design an UML Sequence Diagram and generate an XMI code from it. Next, JAXB converts the XMI code into Java code. After that, we supply Java code to jCUTE to generate concolic test cases. These test cases and the Java code are supplied to our tool COPECA to measure MC/DC%. We experimented with five case studies and worked on twenty seven sequence diagrams and on an average, we achieved 55.29% MC/DC.

Item Type:Thesis (MTech)
Uncontrolled Keywords:Feedback Directed Random Testing; Concolic Testing; UML Sequence Diagram; MC/DC
Subjects:Engineering and Technology > Computer and Information Science
Divisions: Engineering and Technology > Department of Computer Science
ID Code:8808
Deposited By:Mr. Kshirod Das
Deposited On:28 Feb 2018 11:35
Last Modified:28 Feb 2018 11:35
Supervisor(s):Mohapatra, Durga Prasad

Repository Staff Only: item control page