Ayudante: Identifying Undesired Variable Interactions
A common programming mistake is for incompatible variables to interact, e.g., storing euros in a variable that should hold dollars. 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. 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.
Mon 26 OctDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 15:00 | |||
13:30 30mTalk | Ayudante: Identifying Undesired Variable Interactions WODA Irfan Ul Haq IMDEA Software Institute, Juan Caballero IMDEA Software Institute, Michael D. Ernst University of Washington | ||
14:00 30mTalk | Efficient Dynamic Analysis of the Synchronization Performance of Java Applications WODA Peter Hofer Christian Doppler Laboratory on Monitoring and Evolution of Very-Large-Scale Software Systems, Johannes Kepler University Linz, David Gnedt Christian Doppler Laboratory on Monitoring and Evolution ofVery-Large-Scale Software Systems, Johannes Kepler UniversityLinz, Hanspeter Mössenböck Johannes Kepler University Linz | ||
14:30 30mTalk | Recovering Execution Data from Incomplete Observations WODA Peter Ohmann University of Wisconsin - Madison, David Bingham Brown University of Wisconsin - Madison, Ben Liblit University of Wisconsin–Madison, Thomas Reps University of Wisconsin - Madison and Grammatech Inc. Pre-print |