TitleAyudante: Identifying undesired variable interactions
Publication TypeConference Paper
Year of Publication2015
AuthorsHaq IUl, Caballero J, Ernst MD
Conference NameWODA 2015: 13th International Workshop on Dynamic Analysis
Pagination8–13
Date or Month PublishedOctober
Conference LocationPittsburgh, PA, USA
AbstractA 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 a novel approach for identifying undesired interactions between program variables. Our approach uses two different mechanisms to identify related variables. Natural language processing (NLP) identifies variables with related names that may have related semantics. Abstract type inference (ATI) identifies variables that interact with each other. Any discrepancies between these two mechanisms may indicate a programming error. \par We have implemented our approach in a tool called Ayudante. We evaluated Ayudante using two open-source programs: the Exim mail server and grep. Although these programs have been extensively tested and in deployment for years, Ayudante's first report for grep revealed a programming mistake.
Downloadshttps://homes.cs.washington.edu/~mernst/pubs/variable-interactions-woda2... PDF https://homes.cs.washington.edu/~mernst/pubs/variable-interactions-woda2... slides (PDF)
Citation KeyUlHaqCE2015