TsmartGP: A Tool for Finding Memory Defects with Pointer Analysis
Thu 14 Nov 2019 15:00 - 15:10 at Cortez 2&3 - Mining and Bug Detection Chair(s): Chanchal K. Roy
Precise pointer analysis is desired since it is a core technique to find memory defects. There are several dimensions of pointer analysis precision, flow sensitivity, context sensitivity, field sensitivity and path sensitivity. For static analysis tools utilizing pointer analysis, considering all dimensions is difficult because the trade-off between precision and efficiency should be balanced. This paper presents TsmartGP, a static analysis tool for finding memory defects in C programs with a precise and efficient pointer analysis. The pointer analysis algorithm is flow, context, field, and quasi path sensitive. Control flow automatons are the key structures for our analysis to be flow sensitive. Function summaries are applied to get context information and elements of aggregate structures are handled to improve precision. Path conditions are used to filter unreachable paths. For efficiency, a multi-entry mechanism is proposed. Utilizing the pointer analysis algorithm, we implement a checker in TsmartGP to find uninitialized pointer errors in 13 real-world applications. Cppcheck and Clang Static Analyzer are chosen for comparison. The experimental results show that TsmartGP can find more errors while its accuracy rate is 100%, much higher than 3.1% for Cppcheck and 16.7% for Clang Static Analyzer. The demo video is available at https://youtu.be/IQlshemk6OA and TsmartGP can be downloaded from https://github.com/laoyaolandq/TsmartGP.
Wed 13 Nov
10:00 - 10:40 Demonstration | TsmartGP: A Tool for Finding Memory Defects with Pointer Analysis Yuexing WangTsinghua University, Guang ChenTsinghua University, Min ZhouTsinghua University, Ming GuTsinghua University, Jiaguang SunTsinghua University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | BuRRiTo: A Framework to Extract, Specify, Verify and Analyze Business Rules Pavan ChittimalliTCS Research, Kritika AnandTCS Research, Shrishti PradhanTCS Research, Sayandeep MitraTCS Research, Chandan PrakashTCS Research, Rohit ShereTCS Research, Ravindra NaikTCS Research, TRDDC, India | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | Lancer: Your Code Tell Me What You Need Shufan ZhouSchool of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University, Beijun ShenSchool of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University, Hao ZhongShanghai Jiao Tong University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | TestCov: Robust Test-Suite Execution and Coverage Measurement Pre-print Media Attached File Attached | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | Prema: A Tool for Precise Requirements Editing, Modeling and Analysis Yihao HuangEast China Normal University, Jincao FengEast China Normal University, Hanyue ZhengEast China Normal University, Jiayi ZhuEast China Normal University, Shang WangEast China Normal University, Siyuan JiangEastern Michigan University, Weikai MiaoShanghai Key Lab for Trustworthy Computing, School of Computer Science and Software Engineering, East China Normal University, Geguang PuEast China Normal University&Shanghai Trusted Industrial Control Platform Co., Ltd | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | XRaSE: Towards Virtually Tangible Software using Augmented Reality Rohit MehraAccenture Labs, India, Vibhu Saujanya SharmaAccenture Labs, Vikrant KaulgudAccenture Labs, India, Sanjay PodderAccenture | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | MuSC: A Tool for Mutation Testing of Ethereum Smart Contract Zixin LiNanjing University, Haoran WuState Key Laboratory for Novel Software Technology, Nanjing University, Jiehui XuNanjing University, Xingya WangState Key Laboratory for Novel Software Technology, Nanjing University, Lingming ZhangThe University of Texas at Dallas, Zhenyu ChenNanjing University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | VeriSmart 2.0: Swarm-Based Bug-Finding for Multi-Threaded Programs with Lazy-CSeq Bernd FischerStellenbosch University, Salvatore La TorreUniversità degli Studi di Salerno, Gennaro ParlatoUniversity of Molise | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | DeepMutation++: a Mutation Testing Framework for Deep Learning Systems Qiang HuKyushu University, Japan, Lei MaKyushu University, Xiaofei XieNanyang Technological University, Bing YuKyushu University, Japan, Yang LiuNanyang Technological University, Singapore, Jianjun ZhaoKyushu University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts Mark MossbergTrail of Bits, Felipe ManzanoTrail of Bits, Eric HennenfentTrail of Bits, Alex GroceTrail of Bits, Gustavo GriecoTrail of Bits, Josselin FeistTrail of Bits, Trent BrunsonTrail of Bits, Artem DinaburgTrail of Bits Media Attached | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | ConVul: An Effective Tool for Detecting Concurrency Vulnerabilities Ruijie MengUniversity of Chinese Academy of Sciences, Biyun ZhuUniversity of Chinese Academy of Sciences, Hao YunUniversity of Chinese Academy of Sciences, Haicheng LiUniversity of Chinese Academy of Sciences, Yan CaiInstitute of Software, Chinese Academy of Sciences, Zijiang YangWestern Michigan University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | mCUTE: A Model-level Concolic Unit Testing Engine for UML State Machines Reza AhmadiQueen's University, Karim JahedQueen's University, Juergen DingelQueen's University, Kingston, Ontario |
Thu 14 Nov
13:40 - 15:20: Papers - Mining and Bug Detection at Cortez 2&3 Chair(s): Chanchal K. RoyUniversity of Saskatchewan | ||||||||||||||||||||||||||||||||||||||||||
13:40 - 14:00 Talk | Automatically 'Verifying' Complex Systems through Learning, Abstraction and Refinement Jingyi WangNational University of Singapore, Singapore, Jun SunSingapore Management University, Singapore, Shengchao QinUniversity of Teesside, Cyrille JegourelISTD, Singapore University of Technology and Design Link to publication | |||||||||||||||||||||||||||||||||||||||||
14:00 - 14:20 Talk | Interactive semi-automated specification mining for debugging: An experience report Mohammad Jafar MashhadiUniversity of Calgary, Taha R. SiddiquiInfoMagnetics Technologies Corp, Hadi HemmatiUniversity of Calgary, Howard W. LoewenDepartment of Electrical & Computer Engineering, University of Calgary Link to publication | |||||||||||||||||||||||||||||||||||||||||
14:20 - 14:40 Talk | Improving reusability of software libraries through usage pattern mining Mohamed Aymen SaiedConcordia University, Ali OuniETS Montreal, University of Quebec, Houari SahraouiUniversité de Montréal, Raula Gaikovina KulaNAIST, Katsuro InoueOsaka University, David LoSingapore Management University Link to publication | |||||||||||||||||||||||||||||||||||||||||
14:40 - 15:00 Talk | Rule-based specification mining leveraging learning to rank Zherui CaoZhejiang University, Yuan TianQueens University, Kingston, Canada, Tien-Duy B. LeSchool of Information Systems, Singapore Management University, David LoSingapore Management University Link to publication | |||||||||||||||||||||||||||||||||||||||||
15:00 - 15:10 Demonstration | TsmartGP: A Tool for Finding Memory Defects with Pointer Analysis Yuexing WangTsinghua University, Guang ChenTsinghua University, Min ZhouTsinghua University, Ming GuTsinghua University, Jiaguang SunTsinghua University | |||||||||||||||||||||||||||||||||||||||||
15:10 - 15:20 Demonstration | Ares: Inferring Error Specifications through Static Analysis Li ChiTsinghua University, Zuxing GuSchool of Software, Tsinghua University, Min ZhouTsinghua University, Ming GuTsinghua University, Hongyu ZhangThe University of Newcastle |