Ayudante: Identifying Undesired Variable Interactions

Abstract

A common programming mistake is for incompatible vari-ables 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 unde-sired 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. We have implemented our approach in a tool called Ayu-dante. We evaluated Ayudante using two open-source pro-grams: the Exim mail server and grep. Although these pro-grams have been extensively tested and in deployment for years, Ayudante’s first report for grep revealed a program-ming mistake

Similar works

Full text

thumbnail-image

CiteSeerX

redirect
Last time updated on 29/10/2017

This paper was published in CiteSeerX.

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.