IJSER Home >> Journal >> IJSER
International Journal of Scientific and Engineering Research
ISSN Online 2229-5518
ISSN Print: 2229-5518 12    
Website: http://www.ijser.org
scirp IJSER >> Volume 2, Issue 12, December 2011
OSD: A Source Level Bug Localization Technique Incorporating Control Flow and State Information in Object Oriented Program
Full Text(PDF, 3000)  PP.  
Author(s)
Partha Pratim Ray
KEYWORDS
Bug, ClDG, Embedded software, Object oriented program, Object state, UML
ABSTRACT
Bug localization in object oriented program has always been an important issue in softeware engineering. In this paper, I propose a source level bug localization technique for object oriented embedded programs. My proposed technique, presents the idea of debugging an object oriented program in class level, incorporating the object state information into the Class Dependence Graph (ClDG). Given a program (having buggy statement) and an input that fails and others pass, my approach uses concrete as well as symbolic execution to synthesize the passing inputs that marginally from the failing input in their control flow behavior. A comparison of the execution traces of the failing input and the passing input provides necessary clues to the root-cause of the failure. A state trace difference, regarding the respective nodes of the ClDG is obtained, which leads to detect the bug in the program.
References
[1] Gregg Rothermel and Mary Jean Harrold. Selecting re-gression tests for object oriented software. In Proc. of the Intl. Conf. on Software Maintenance - 1994, pages 14-25, Victoria, BC, Canada, Sep 1994.

[2] Jeanne Ferrante, Karl J. Ottenstein, and Joe D. Warren. The program dependence graph and its use in optimiza-tion. ACM Transactions on Programming Languages and Systems, 9(3):319-349, Jul 1987.

[3] Swarnendu Biswas, Rajib Mall, Manoranjan Satpathy and Srihari Sukumaran. A Model-Based Regression Test Selection Approach for Embedded Applications. SIGSOFT Software Engineering Notes, July 2009.

[4] M. Allen and S. Horwitz. Slicing java programs that throw and catch exceptions. In In PEPM 03: Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation, pages 44-54, 2003.

[5] R. Gupta, M. Harrold, and M. Soa. Program slicing based regression testing techniques. Journal of Software Testing, Verication, and Reliability, 6(2):83-112, June 1996.

[6] M. Harrold, J. Jones, T. Li, D. Liang, A. Orso, M. Pen-nings, S. Sinha, S. A. Spoon, and A. Gujarathi. Regression test selection for java software. In Proceedings of the 16th ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages and Applications, pages 312-326, January 2001.

[7] G. Rothermel and M. Harrold. Selecting regression tegra-tion testing. In Proceedings of World Academy of Science, Engineering and Technology, volume 16, November 2006.

[8] G. Rothermel and M. Harrold. Selecting tests and identifying test coverage requirements for modied software. In Proceedings of the ACM International Symposium on Software Testing and Analysis, pages 169-184, August 1994.

[9] G. Rothermel and M. Harrold. A safe, efficient regression test selection technique. ACM Transactions on Software Engineering and Methodology, 6(2):173-210, April 1997.

[10] G. Rothermel, M. Harrold, and J. Dedhia. Regression test selection for C++ software. Software Testing, Verification and Reliability, 10:77-109, June 2000.

[11] Embedded Systems Design: A Unified Hard-ware/Software Introduction, (c) 2000 Vahid/Givargis.

[12] J. Tsai, K. Fang, and Y. Bi. On real-time software testing and debugging. In Proceedings of the Fourteenth Annual International Computer Software and Applications Conference,, pages 512-518, 1990.

[13] S. Sinha and M. Harrold. Analysis of programs with exception-handling constructs. In In Proceedings of the International Conference on Soft- ware Maintenance, pages 348-357, 1998.

[14] S. Jiang, S. Zhou, Y. Shi, and Y. Jiang. Improving the preciseness of dependence analysis using exception In Proceedings of the 15th International Conference on Computing IEEE, pages 277-282, 2006.

[15] S. Sinha and M. Harrold. Analysis and testing of pro-grams with exception-handling constructs. IEEE Transactions on Software Engineering, 26(9):849-871, 2000.

[16] R. Zhao and L. Lin. An uml statechart diagram-based mmpath generation approach for object-oriented integration testing. In Proceedings of World Academy of Science, Engineering and Technology, volume 16, No-vember 2006.

[17] R. Mall. Fundamentals of Software Engineering. Prentice Hall of India, 2nd edition, 2008.

[18] Z.Li, M. Harman, and R. Hierons. Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering, pages 495-505, March 1996.

Untitled Page