C++ BUG CUB: Logical Bug Detection for C++ Code

Authors

  • A. Raana Faculty of Telecom and Information Engineering, University of Engineering & Technology Taxila, Pakistan
  • M. A. Azam Faculty of Telecom and Information Engineering, University of Engineering & Technology Taxila, Pakistan
  • M. A. Ghazanfar Faculty of Telecom and Information Engineering, University of Engineering & Technology Taxila, Pakistan
  • A. Javed Faculty of Telecom and Information Engineering, University of Engineering & Technology Taxila, Pakistan
  • Y. Amin Faculty of Telecom and Information Engineering, University of Engineering & Technology Taxila, Pakistan
  • U. Naeem School of Architecture, Computing and Engineering, University of East London, London, U.K

Abstract

Quality is seen as one of the key aspects for efficient and robust Software development. One of the ways to ensure quality is to ensure that developed software systems’ code istotally free of syntax, real time and logical bugs. Despite careful development process, there is always room for these bugs to stay in developed system. Many of the syntax and logical bugs escape from detection in testing phase, which has great impact on the quality and reliability of system and business value as well. These are usually Logical Bugs, which can be difficult to find and which can lead to frustration for the development team. To alleviate the overhead of static analysis of code performed by the developer to detect logical bugs, a system is proposed to detect these bugs in C++ code. The system has been engineered using tokenization concept -prerequisite for bug detection- followed by rule-based algorithm that is designed for logical bugs’ detection. A decision tree based approach has also been applied in order to classify the detected bugs. The system is also able to extract dependency among all the methods/functions written in the input code. Both tasks; bug(s) detection and function dependency are performed in one pass which makes the system efficient.

References

Z. Li, “Using data mining techniques to improve software

reliabilityâ€, Avaialble:https://www.ideals.illinois.edu/ handle/

/11273, 2006.

Y. Zhang, Y. Liu, L. Zhang and Y. Shi, “A data mining based

method: detecting software defects in source codeâ€, 2nd Int. Conf.

on Software Engg. and Data Mining (SEDM), Chengdu, China, pp.

-612, 2010.

H. Uwano, M. Nakamura, A. Monden and K. Matsumoto,

“Analyzing individual performance of source code review using

reviewers‟ eye movementâ€, Proc. of Symposium on Eye Tracking

Research & Applications ACM Digital Library,

pp. 133-140, Mar 27, 2006, ACM.

“Common beginner C++ programming mistakesâ€, Available:http:

//fd.valenciacollege.edu/file/grhodes4/CommonBeginnerMistakes1

.pdf. [Accessed: 1-08, 2015].

“Eight C++ programming mistakes the compiler won‟t catchâ€,

Available: http://www.learncpp.com/cpp-programming/eight-cprogramming-mistakes-the-compiler-wont-catch/. [Accessed: July 2nd 2007]

“10 Common programming mistakes in C++â€, Available:http://

alumni.cs.ucr.edu/~nxiao/cs10/errors.htm.

R. Kartha and V. Nair, “Data mining for causal analysis of

software defectsâ€, Master of Science Thesis, Technische

University Eindhoven, Int. J. Comp. Sci. Mobile Comput.

(ICMIC), pp. 1-7, December, 2013.

P. J. Kaur and Pallavi, “Data mining techniques for software defect

predictionâ€, International Journal of Software and Web Sciences

(IJSWS 12-347), vol. 3, no. 1, Feb 2013, pp. 54-57.

K. Shvachko, H. Kuang and S.Radia, “The hadoop Distributed file

system†Mass Storage Systems and Technologies (MSST), IEEE

th Symposium on, 3-7 May 2010, pp. 1-10, Incline Village, NV.

Available:IEEE Xplore, http://www.ieee.org.

J. Dean and S.Ghemawat, “MapReduce: simplified data processing

on large clustersâ€, Communications of the ACM, vol. 51, no. 1,

pp. 107-113, January 2008.

W. Peng, J. Chen and H. Zhou, “An Implementation of ID3—

Decision Tree Learning Algorithmâ€, Available:

http://cis.k.hosei.ac.jp/~ rhuang/Miccl/AI-2/L10 src/Decision

Tree2. pdf 2009.

H. D. Owens, B. E. Womack and M. J. Gonzalez, “software error

classification using purifyâ€, International Conference on Software

Maintenance, CA, USA , Nov. 4-8 1996, pp. 104-113.

S. J. Dommati, R. Agrawal, G.R.M. Reddy and S. Kamath, “Bug

classification: feature extraction and comparison of event model

using naïve bayes approachâ€, Int. Conf. on Recent Trends in

Comp. Inform. Engg (ICRTCIE), Pattaya, April 13-15, 2012.

A. McCallum and K. Nigam. “A comparison of event models for

naive bayes text classicationâ€, Available:http://citeseerx.ist.

psu.edu/viewdoc/download?doi=10.1.1.65.9324&rep=rep1&type=

pdf 1998.

M. S. Naidu and N. Geethanjali, “Classification of defects in

software using decision tree algorithmâ€, Int. J. Engg. Sci. Tech.

(IJEST), vol. 5, no. 6, pp. 1332-1340, June 2013.

B. Liu, Y. Ma and C.K. Wong, “Improving an association rule

based classifierâ€, Proc. of the Fourth European Conference on

Principles and Practice of Knowledge Discovery in Databases,

pp. 504-509, 2000.

P. Wang, J. Yang, L. Tan, R. Kroeger and J. D. Morgenthaler,

“Generating precise dependencies for large softwareâ€, Managing

Technical Debt (MTD), 2013 4th International Workshop on,

IEEE, 20-20 May, pp. 47-50, 2013, San Francisco, CA. Available:

IEEE Xplore, http://www.ieee.org.

C.A. Lattner, “LLVM: An infrastructure for multi-stage

optimizationâ€, Graduate College of the University of Illinois at

Urbana-Champaign, 2002, pp.1-56.Avaialable: http://www.llvm.

org/pubs/2002-12-LattnerMSThesis-book.pdf.

M. Johnson and J. Zelenski, “Lexical Analysisâ€, http://dragonbook.

stanford.edu/lecture-notes/Stanford-CS143/03-Lexical-Analysis.

pdf, June 25, 2008.

MA Hearst, “Text data mining: Issues, techniques, and the

relationship to information accessâ€, in journal Presentation notes

for UW/MS workshop on data mining, pp. 112-117, July 1997.

V. Neelima, Annapurna. N, V. Alekhya and B. M. Vidyavathi,

“Bug detection through text data miningâ€, Int. J. Adv. Res.

Comput. Sci. Softw. Engg., vol. 3, no. 5, pp. 564-569, May 2013.

KB Kumar, J. Gyani and G. Narsimha, “Sequential cyclomatic

complexity over a chain of function callsâ€, Int. Conf. on Networks

and Information, PCSIT, vol. 57, 2012, IACSIT Press, Singapore.

P. Devi and R. Ranjan, “enhanced bug detection by data mining

techniquesâ€, Int. J. Comput. Engg Res. (IJCER), vol. 4, no. 7, pp.

-27, July 2014.

D. Radosevic and T. Orehovacki, “An analysis of novice

compilation behavior using Verificatorâ€, Proceedings of the ITI

33rd

, Int. Conf. on Information Technology Interfaces, June

-30, 2011, Cavtat, Croatia. Available: IEEE Xplore,

http://www.ieee.org.

S.H Abid, S. Zehra and H. Iftikhar, “using computer aided

software for teaching and self learningâ€, Proceedings of the ICL

14th Int. Conf. on Interactive Collaborative Learning, 21-23

Sept. 2011, Piestany. Available: IEEE Xplore, http://

www.ieee.org.

D. Lanvanya and K. U. Rani, “performance evaluation of decision

tree classifiers on medical datasetsâ€, Int. J. Comp. Appl., vol. 26,

no. 4, July 2011.

Downloads

Published

08-03-2016

How to Cite

[1]
A. Raana, M. A. Azam, M. A. Ghazanfar, A. Javed, Y. Amin, and U. Naeem, “C++ BUG CUB: Logical Bug Detection for C++ Code”, The Nucleus, vol. 53, no. 1, pp. 56–63, Mar. 2016.

Issue

Section

Articles