Fast and Precise Application Code Analysis using a Partial Library
Fri 13 May 2022 12:20 - 12:25 at ICSE room 2-even hours - Program Analysis 5 Chair(s): Karim Ali
Thu 26 May 2022 11:30 - 11:35 at Room 306+307 - Papers 14: Program Analysis Chair(s): Frank Tip
Long analysis times are a key bottleneck for the widespread adoption of whole-program static analysis tools. Fortunately, however, a user is often only interested in finding errors in the application code, which constitutes a small fraction of the whole program. Current application-focused analysis tools overapproximate the effect of the library and hence reduce the precision of the analysis results. However, empirical studies have shown that users have high expectations on precision and will ignore tool results that don’t meet these expectations. In this paper, we introduce the first tool \textit{QueryMax} that significantly speeds up an application code analysis without dropping any precision. \textit{QueryMax} acts as a pre-processor to an existing analysis tool to select a partial library that is most relevant to the analysis queries in the application code. The selected partial library plus the application is given as input to the existing static analysis tool, with the remaining library pointers treated as the bottom element in the abstract domain. This achieves a significant speedup over a whole-program analysis, at the cost of a few lost errors, and with no loss in precision. We instantiate and run experiments on \textit{QueryMax} for a cast-check analysis and a null-pointer analysis. For a particular configuration, \textit{QueryMax} enables these two analyses to achieve, relative to a whole-program analysis, an average error-coverage of 87%, a precision of 100% and a geometric mean speedup of 10x.
Mon 9 MayDisplayed time zone: Eastern Time (US & Canada) change
Fri 13 MayDisplayed time zone: Eastern Time (US & Canada) change
12:00 - 13:00 | Program Analysis 5SEIP - Software Engineering in Practice / Technical Track / Journal-First Papers at ICSE room 2-even hours Chair(s): Karim Ali University of Alberta | ||
12:00 5mTalk | Guided Feature Identification and Removal for Resource-constrained Firmware Journal-First Papers Ryan Williams Northeastern University, Tongwei Ren Worcester Polytechnic Institute, Lorenzo De Carli Worcester Polytechnic Institute, Long Lu Northeastern University, n.n., Gillian Smith Worcester Polytechnic Institute Link to publication Pre-print Media Attached | ||
12:05 5mTalk | A Static Analysis Framework for Data Science Notebooks SEIP - Software Engineering in Practice Pre-print Media Attached | ||
12:10 5mTalk | PUS: A Fast and Highly Efficient Solver for Inclusion-based Pointer AnalysisDistinguished Paper Award Technical Track Peiming Liu Texas A&M University, Yanze Li University of British Columbia, Bradley Swain Texas A&M University, Jeff Huang Texas A&M University Pre-print Media Attached | ||
12:15 5mTalk | Characterizing and Detecting Bugs in WeChat Mini-Programs Technical Track Tao Wang , Qingxin Xu Institute of Software, Chinese Academy of Sciences, China, Xiaoning Chang Institute of Software, Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Jiaxin Zhu Institute of Software at Chinese Academy of Sciences, China, Jinhui Xie Tencent Inc., Yuetang Deng Tencent, Jianbo Yang Tencent Inc., Jiaheng Yang Tencent Inc., Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Tao Huang Institute of Software Chinese Academy of Sciences Pre-print Media Attached | ||
12:20 5mTalk | Fast and Precise Application Code Analysis using a Partial Library Technical Track Akshay Utture University of California, Los Angeles (UCLA), Jens Palsberg University of California at Los Angeles DOI Pre-print Media Attached | ||
12:25 5mTalk | Inference and Test Generation Using Program Invariants in Chemical Reaction Networks Technical Track Michael C. Gerten Iowa State University, Alexis L. Marsh Iowa State University, James I. Lathrop Iowa State University, Myra Cohen Iowa State University, Andrew S. Miner Iowa State University, Titus H. Klinge Drake University DOI Pre-print Media Attached |
Thu 26 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | Papers 14: Program AnalysisTechnical Track / SEIP - Software Engineering in Practice / Journal-First Papers at Room 306+307 Chair(s): Frank Tip Northeastern University | ||
11:00 5mTalk | Static Inference Meets Deep Learning: A Hybrid Type Inference Approach for PythonNominated for Distinguished Paper Technical Track Yun Peng The Chinese University of Hong Kong, Cuiyun Gao Harbin Institute of Technology, Zongjie Li The Hong Kong University of Science and Technology, Bowei Gao Harbin Institute of Technology, Shenzhen, David Lo Singapore Management University, Qirun Zhang Georgia Institute of Technology, USA, Michael Lyu The Chinese University of Hong Kong DOI Pre-print Media Attached | ||
11:05 5mTalk | TaintBench: Automatic Real-World Malware Benchmarking of Android Taint Analyses Journal-First Papers Linghui Luo Amazon Web Services, Felix Pauck Paderborn University, Germany, Goran Piskachev Fraunhofer IEM, Manuel Benz Paderborn University, Ivan Pashchenko University of Trento, Martin Mory Paderborn University, Eric Bodden , Ben Hermann Technical University Dortmund, Fabio Massacci University of Trento; Vrije Universiteit Amsterdam Link to publication DOI Pre-print Media Attached File Attached | ||
11:10 5mTalk | InspectJS: Leveraging Code Similarity and User-Feedback for Effective Taint Specification Inference for JavaScript SEIP - Software Engineering in Practice Saikat Dutta University of Illinois at Urbana-Champaign, Diego Garbervetsky University of Buenos Aires and CONICET, Argentina, Shuvendu K. Lahiri Microsoft Research, Max Schaefer GitHub, Inc. DOI Pre-print Media Attached | ||
11:15 5mTalk | DeepDiagnosis: Automatically Diagnosing Faults and Recommending Actionable Fixes in Deep Learning Programs Technical Track Mohammad Wardat Dept. of Computer Science, Iowa State University, Breno Dantas Cruz Dept. of Computer Science, Iowa State University, Wei Le Iowa State University, Hridesh Rajan Iowa State University Pre-print Media Attached | ||
11:20 5mTalk | Inference and Test Generation Using Program Invariants in Chemical Reaction Networks Technical Track Michael C. Gerten Iowa State University, Alexis L. Marsh Iowa State University, James I. Lathrop Iowa State University, Myra Cohen Iowa State University, Andrew S. Miner Iowa State University, Titus H. Klinge Drake University DOI Pre-print Media Attached | ||
11:25 5mTalk | PUS: A Fast and Highly Efficient Solver for Inclusion-based Pointer AnalysisDistinguished Paper Award Technical Track Peiming Liu Texas A&M University, Yanze Li University of British Columbia, Bradley Swain Texas A&M University, Jeff Huang Texas A&M University Pre-print Media Attached | ||
11:30 5mTalk | Fast and Precise Application Code Analysis using a Partial Library Technical Track Akshay Utture University of California, Los Angeles (UCLA), Jens Palsberg University of California at Los Angeles DOI Pre-print Media Attached |