Ayudante: identifying undesired variable interactions

作者: Irfan Ul Haq , Juan Caballero , Michael D. Ernst

DOI: 10.1145/2823363.2823366

关键词: Abstract typeSemantics (computer science)Data miningMistakeVariable (computer science)InferenceArray data structureComputer scienceSoftware deployment

摘要: A common programming mistake is for incompatible variables to interact, e.g., storing euros in a variable that should hold dollars, or using an array index with the wrong array. This paper proposes novel approach identifying undesired interactions between program variables. Our uses two different mechanisms identify related Natural language processing (NLP) identifies names may have semantics. Abstract type inference (ATI) interact each other. Any discrepancies these indicate error. We implemented our tool called Ayudante. evaluated Ayudante open-source programs: Exim mail server and grep. Although programs been extensively tested deployment years, Ayudante’s first report grep revealed mistake.

参考文章(14)
V. I. Levenshtein, Binary codes capable of correcting deletions, insertions, and reversals Soviet physics. Doklady. ,vol. 10, pp. 707- 710 ,(1966)
Henry G. Baker, Unify and conquer international conference on functional programming. pp. 218- 226 ,(1990) , 10.1145/91556.91652
Florian Deissenboeck, Markus Pizka, Concise and consistent naming Software Quality Journal. ,vol. 14, pp. 261- 282 ,(2006) , 10.1007/S11219-006-9219-1
Venera Arnaoudova, Laleh Eshkevari, Rocco Oliveto, Yann-Gael Gueheneuc, Giuliano Antoniol, Physical and conceptual identifier dispersion: Measures and relation to fault proneness international conference on software maintenance. pp. 1- 5 ,(2010) , 10.1109/ICSM.2010.5609748
George A. Miller, WordNet Communications of the ACM. ,vol. 38, pp. 39- 41 ,(1995) , 10.1145/219717.219748
Dawn Lawrie, Christopher Morrell, Henry Feild, David Binkley, Effective identifier names for comprehension and memory Innovations in Systems and Software Engineering. ,vol. 3, pp. 303- 318 ,(2007) , 10.1007/S11334-007-0031-2
J. B. Macqueen, Some methods for classification and analysis of multivariate observations Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Volume 1: Statistics. ,vol. 1, pp. 281- 297 ,(1967)
Maria Halkidi, Yannis Batistakis, Michalis Vazirgiannis, On Clustering Validation Techniques intelligent information systems. ,vol. 17, pp. 107- 145 ,(2001) , 10.1023/A:1012801612483
Philip J. Guo, Jeff H. Perkins, Stephen McCamant, Michael D. Ernst, Dynamic inference of abstract types international symposium on software testing and analysis. pp. 255- 265 ,(2006) , 10.1145/1146238.1146268
Zhibiao Wu, Martha Palmer, Verbs semantics and lexical selection Proceedings of the 32nd annual meeting on Association for Computational Linguistics -. pp. 133- 138 ,(1994) , 10.3115/981732.981751