Total views : 245

Inconsistency Detection in Software Component Source Code using Ant Colony Optimization and Neural Network Algorithm

Affiliations

  • Computer Science and Engineering, Chandigarh Engineering College, Landran, Mohali – 140307, Punjab, India

Abstract


Objectives: Inconsistency detection is one of the major challenges in source code for the software developers. There is the need of consistent identifiers to reduce the code inconsistencies. So, developers should either have the knowledge to create conceptual identifiers or the knowledge to detect the inconsistencies in source code. Methods/Statistical Analysis: There is the availability of a list of tools for the detection of different types of inconsistencies. But the existing tools are not much appropriate for Semantic, Syntactic Inconsistencies and Part of Speech tagging. Findings: In the paper, an autonomous tool Automatic Bad Code Detector (ABCD) is developed to detect semantic, syntactic and part of speech inconsistency in the source code. ABCD tool identifies the inconsistencies in the source code based on the detected Code Clones. These Clones are detected by matching the test code with Code Repository. A java project based code repository is considered for experimentation. ABCD is evaluated for different java projects in order to find inconsistencies in source code. In ABCD tool main inconsistency detector are Ant Colony Optimization and Neural Network Back Propagation algorithm. Further, ABCD is useful in re-implementing the new versions of the java code. Applications/Improvements: The current concept is evaluated for the Semantic, Syntactic, POS-Word and POS-Phrase inconsistencies based on evaluation parameter of precision. The efficiency of ABCD is evaluated as an overall value for the precision, recall and f-measure.

Keywords

Ant Colony Optimization, Automatic Bad Code Detector, Code Repository, Inconsistency Detection, Neural Network Back Propagation Algorithm.

Full Text:

 |  (PDF views: 227)

References


  • Jiang L, Su Z, Chiu E. Context-based detection of clone-related bugs. Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM; 2007 Sep 7. p. 55–64.
  • Reid A, Flatt M, Stoller L, Lepreau J, Eide E. Knit: Component composition for systems software. Proceedings of the 4th Conference on Symposium on Operating System Design and Implementation- USENIX Association. 2000 Oct; 4:24.
  • Schumacher J, Zazworka N, Shull F, Seaman C, Shaw M. Building empirical support for automated code smell detection. Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ACM; 2010 Sep. p. 8.
  • Gabel M, Yang J, Yu Y, Goldszmidt M, Su Z. Scalable and systematic detection of buggy inconsistencies in source code. ACM SIGPLAN Notices ACM. 2010 Oct; 45(10):175–90.
  • Ray B, Kim M, Person S, Rungta N. Detecting and characterizing semantic inconsistencies in ported code. 2013 IEEE/ACM 28th International Conference on Automated Software Engineering (ASE); 2013 Nov. p. 367–77.
  • Hughes E. Checking spelling in source code. ACM SIGPLAN Notices. 2004 Dec; 39(12):32–8.
  • Abebe SL, Haiduc S, Tonella P, Marcus A. Lexicon bad smells in software. 2009 16th Working Conference on Reverse Engineering; 2009 Oct. p. 95–9.
  • Tsantalis N, Chaikalis T, Chatzigeorgiou A. JDeodorant: Identification and removal of type-checking bad smells. CSMR 2008. 12th European Conference on Software Maintenance and Reengineering; 2008 Apr. p. 329–31.
  • Deissenboeck F, Pizka M. Concise and consistent naming. Software Quality Journal. 2006 Sep; 14(3):261–82.
  • Kim S, Kim D. Automatic identifier inconsistency detection using code dictionary. Empirical Software Engineering. 2016 Apr; 21(2):565–604.
  • Lawrie D, Feild H, Binkley D. Syntactic identifier conciseness and consistency. 2006 Sixth IEEE International Workshop on Source Code Analysis and Manipulation; 2006 Sep. p. 139–48.
  • Abebe SL, Tonella P. Automated identifier completion and replacement. 2013 17th European Conference on Software Maintenance and Reengineering (CSMR); 2013 Mar. p. 263–72.
  • Pressman RS. Software engineering: A practitioner's approach. Palgrave Macmillan; 2005.
  • Councill B, Heineman GT. Definition of a software component and its elements. Component-based Software Engineering: Putting the Pieces Together. 2001 Jun. p. 5–19.
  • Bosch J, Szyperski C, Weck W. Component-oriented programming. European Conference on Object-Oriented Programming Springer Berlin Heidelberg; 2000 Jun. p. 55–64.
  • Weide BW, Ogden WF, Zweben SH. Reusable software components. Advances in Computers. 1991 Dec; 33:1–65.
  • Mall R. Fundamentals of software engineering. PHI Learning Pvt. Ltd; 2014 Apr.
  • Booch G. Software component with ADA. Benjamin-Cummings Publishing Co. Inc; 1987 Jan.
  • Chaudron MR, Szyperski C, Reussner RH. Component-based Software Engineering: 11th International Symposium, CBSE Proceedings; Karlsruhe, Germany. Springer. 2008 Oct.
  • Dorigo M, Maniezzo V, Colorni A. Ant system: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man and Cybernetics, Part B (Cybernetics). 1996 Feb; 26(1):29–41.
  • Dorigo M, Birattari M, Stutzle T. Ant Colony Optimization. IEEE Computational Intelligence Magazine. 2006 Nov; 1(4):28–39.
  • Dorigo M, Birattari M, Blum C, Clerc M, Stutzle T, Winfield A. Ant Colony Optimization and Swarm Intelligence: 6th International Conference, ANTS 2008; Brussels, Belgium. 2008 Sep.
  • Dorigo M, Blum C. Ant Colony Optimization theory: A survey. Theoretical Computer Science. 2005 Nov; 344(2):243–78.
  • Mahanti PK, Banerjee S. Automated testing in software engineering: Using ant colony and self-regulated swarms. Proceedings of the 17th IASTED International Conference on Modeling and Simulation (MS’06); 2006 May. p. 443–8.
  • Cilimkovic M. Neural Networks and Back Propagation Algorithm. Institute of Technology; Blanchardstown, North Dublin. 2015.
  • Riedmiller M, Braun H. A direct adaptive method for faster back propagation learning: The RPROP algorithm. IEEE International Conference on Neural Networks; 1993. p. 586–91.
  • Skorpil V, Stastny J. Neural Networks and Back Propagation Algorithm. Electronics. Bulgaria, Sozopol. 2006 Sept. p. 20–2.
  • Powers DM. Evaluation: From precision, recall and F-measure to ROC, informedness, markedness and correlation. Journal of Machine Learning Technologies. 2011; 2(1):37–63.
  • Gharehchopogh FS, Khaze SR, Maleki I. A new approach in bloggers classification with hybrid of K-Nearest Neighbor and Artificial Neural Network Algorithms. Indian Journal of Science and Technology. 2015 Feb; 8(3):237–46.
  • Naseera S, Rajini GK, Prabha NA, Abhishek G. A comparative study on CPU load predictions in a computational grid using Artificial Neural Network Algorithms. Indian Journal of Science and Technology. 2015 Dec; 8(35):1–5.
  • Omidzadeh D. Optimization of customers credit evaluation for Iran Khodro Leasing Company using the Neural Network Algorithm. Indian Journal of Science and Technology. 2015 Oct; 8(28):1–11.
  • Solanki K, Singh Y, Dalal S. A comparative evaluation of m-ACO technique for test suite prioritization. Indian Journal of Science and Technology. 2016 Aug; 9(30):1–10.
  • Solanki K, Singh Y, Dalal S. Experimental analysis of m-ACO technique for regression testing. Indian Journal of Science and Technology. 2016 Aug; 9(30):1–7.

Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.