Reducing Complexity of Java Source Codes in Structural Testing by Using Program Slicing

  • Myint Myitzu Aung University of Computer Studies, Mandalay, Myanmar
  • Kay Thi Win University of Computer Studies, Mandalay, Myanmar
Keywords: Program Slicing, Tree Slicing, Symbolic Execution.


Structural testing is one of the techniques of software testing. It tests only the structure of the source code while comparing expected results and actual results. Generally, structural testing takes a long time to perform its task and not possible. Sometimes, only a small portion of the program is relevant. This can be done by program slicing. Program Slicing is to decompose the program into smaller units that depends on different types of dependencies between the program statements. The different types of program slicing are forward slicing, backward slicing, complete slicing, dynamic and static slicing, etc. Moreover, there is Tree Slicing which is also a key technique to slice and merge different Symbolic Execution (SE) sub-trees under some specific conditions.  In this paper, we combine Tree Slicing technique and Indus Kaveri where Indus is a robust framework for analyzing and slicing concurrent Java programs, and Kaveri is a feature-rich Eclipse-based GUI front end for Indus slicing. Then we present the experimental results in order to reduce the complexity of the java source code.


J Arora, “Static Program Slicing- An Efficient Approach for Prioritization of Test Cases for Regression Testing”, International Journal of Computer Applications (0975 – 8887) Volume 135 – No.13 (2016), 18-23

A Tamrawi, S Kothari, “Event-Flow Graphs for Efficient Path-Sensitive Analyses”, arXiv preprint arXiv:1404.1279, 2014 -

J Jaffar, V Murali, J A. Navas, and A E. Santosa, “Path-Sensitive Backward Slicing, International Static Analysis …”, 2012 – Springer

C Hammer, J Krinke, G Snelting, “Information Flow Control for Java Based on Path Conditions in Dependence Graphs”, Proceedings IEEE International Symposium on Secure Software Engineering, 2006.

G Jayaraman, V Prasad Ranganath, and J Hatcliff, “Kaveri: Delivering the Indus Java Program Slicer to Eclipse”, DARPA/IXO’s PCES program (AFRL Contract F33615-00-C-3044), by NSF (CCR-0306607) by Lockheed Martin, and by Intel Corporation.

J. Jaffar, V. Murali, “A Path-Sensitively Sliced Control Flow Graph”, presented at FSE ’14, November 16-22, 2014, San Hong Kong, China. Copyright 2014 ACM.

V Prasad Ranganath • J Hatcliff, “Slicing Concurrent Java Programs using Indus and Kaveri”, in International Journal on Software Tools for Technology Transfer, 1-15

How to Cite
Aung, M. M., & Win, K. T. (2018). Reducing Complexity of Java Source Codes in Structural Testing by Using Program Slicing. International Journal of Computer (IJC), 30(1), 78-85. Retrieved from