Indian Journal of Science and Technology
DOI: 10.17485/ijst/2016/v9i18/93779
Year: 2016, Volume: 9, Issue: 18, Pages: 1-7
Original Article
Abdollah Rahimi1*, Ahmad Faraahi2 and Azam Ghaedi3
1Department of Computer Engineering, Bandar Abbas Branch, Islamic Azad University, Bandar Abbas, Iran; [email protected] 2Department of Computer Engineering and Information Technology, Payame Noor University, Iran; [email protected] 3Department of Computer Engineering, Bandar Abbas Branch, Islamic Azad University, Bandar Abbas, Iran; [email protected]
*Author for correspondence
Abdollah Rahimi
Department of Computer Engineering, Bandar Abbas Branch, Islamic Azad University, Bandar Abbas, Iran; [email protected]
Regardless of the efforts taken to produce a computer program, the program may still have some bugs and defects. In fact, the larger and more complex programs are more likely to contain errors. The purpose of this paper is to present an approach to detect erroneous performance of application using clustering technique. Because the program paased different execution paths based on different inputs, there is impossible to discover all errors in the program before delivery the software. Monitoring all execution paths before delivery of program is very difficult or maybe impossible, so a lot of errors are hidden in the program and is revealed after delivery. Solutions that have been proposed to achieve this goal are trying to compare the information in the implementation of the program to be successful or unsuccessful which called determinant and introduces the points suspended to the error to programmer. But the main problem is that the analysis carried out at the decisive time information regardless of affiliation between predicate, leading to the inability of these methods to detect certain types of errors. To solve these problems, in this paper a new solution based on behavior analysis and runtime of executable paths in the form of taking into account the interactions between determinants are provided. For this purpose, a clustering method was used for classification of graphs based on the similarities and the ultimate determination of areas suspected of error in the erroneous code paths. Assessment of the proposed strategy on the collection of real programs shows the success of the proposed approach more accurate in detecting errors compared to previous.
Keywords: Clustering, Dynamic Analysis, Data Mining, Locating Error, Semantic Error
Subscribe now for latest articles and news.