C++ BUG CUB: Logical Bug Detection for C++ Code - Raana, A.; Azam, M. A.; Ghazanfar, M. A.; Javed, A.; Amin, Y.; Naeem, U. (The Nucleus, 2016)
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.