Detecting Blocking Errors in Go Programs using Localized Abstract InterpretationACM SIGSOFT Distinguished Paper Award
Channel-based concurrency is a widely used alternative to shared-memory concurrency but is difficult to use correctly. Common programming errors may result in blocked threads that wait indefinitely. Recent work exposes this as a considerable problem in Go programs and shows that many such errors can be detected automatically using SMT encoding and dynamic analysis techniques.
In this paper, we present an alternative approach to detect such errors based on abstract interpretation. To curb the large state spaces of real-world multi-threaded programs, our static program analysis leverages standard pre-analyses to divide the given program into individually analyzable fragments. Experimental results on 6 large real-world Go program show that the abstract interpretation achieves good scalability and finds 104 blocking errors that are missed by the state-of-the-art tool GCatch.
Tue 11 OctDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 15:30 | Technical Session 5 - Code AnalysisTool Demonstrations / Research Papers / Journal-first Papers at Ballroom C East Chair(s): Vahid Alizadeh DePaul University | ||
14:00 20mResearch paper | Detecting Blocking Errors in Go Programs using Localized Abstract InterpretationACM SIGSOFT Distinguished Paper Award Research Papers Oskar Haarklou Veileborg Aarhus University, Georgian-Vlad Saioc Aarhus University, Anders Møller Aarhus University Link to publication | ||
14:20 10mDemonstration | InvCon: A Dynamic Invariant Detector for Ethereum Smart Contracts Tool Demonstrations Pre-print | ||
14:30 20mPaper | An empirical comparison of four Java-based regression test selection techniques Journal-first Papers Min Kyung Shin Colorado State University, Sudipto Ghosh Colorado State University, USA, Leo R. Vijayasarathy Colorado State University Link to publication DOI | ||
14:50 10mDemonstration | Augur: Dynamic Taint Analysis for Asynchronous JavaScript Tool Demonstrations Mark W. Aldrich Tufts University, Alexi Turcotte Northeastern University, Matthew Blanco Northeastern University, Frank Tip Northeastern University | ||
15:00 10mDemonstration | FlexType: A Plug-and-Play Framework for Type Inference Models Tool Demonstrations Sivani Voruganti UC Davis, Kevin Jesse University of California at Davis, USA, Prem Devanbu Department of Computer Science, University of California, Davis Pre-print | ||
15:10 20mResearch paper | SelfAPR: Self-supervised Program Repair with Test Execution DiagnosticsVirtual Research Papers He Ye KTH Royal Institute of Technology, Matias Martinez Université Polytechnique Hauts-de-France, Xiapu Luo Hong Kong Polytechnic University, Tao Zhang Macau University of Science and Technology (MUST), Martin Monperrus KTH Royal Institute of Technology |