Characterizing and Detecting Program Representation Faults of Static Analysis Frameworks

  • Huaien Zhang
  • , Yu Pei
  • , Shuyun Liang
  • , Zezhong Xing
  • , Shin Hwei Tan

Research output: Chapter in book / Conference proceedingConference article published in proceeding or bookAcademic researchpeer-review

Abstract

Static analysis frameworks (SAFs) such as Soot and WALA have been a fundamental support in today’s software analysis. They usually adopt various analysis techniques to transform programs into different representations which imply specific properties, e.g., call graph can demonstrate the calling relationships between methods in a program, and users rely on these program representations for further analysis like vulnerability detection and privacy leakage recognition. Hence, providing proper program representation is essential for SAFs. We conducted a systematic empirical study on program representation faults of static analysis frameworks. In our study, we first collect 141 issues from four popular SAFs and summarize their root causes, symptoms, and fix strategies, and reveal nine findings and some implications to avoid and detect program representation faults. Additionally, we implemented an automated testing framework named SAScope based on the metamorphic and differential testing motivated by findings and implications. Overall, SAScope can detect 19 program representation faults where 6 of them have been confirmed or fixed, demonstrating its effectiveness.
Original languageEnglish
Title of host publicationProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis
PublisherACM
Pages1772-1784
Number of pages13
ISBN (Electronic)979-8-4007-0612-7
DOIs
Publication statusPublished - Sept 2024

Fingerprint

Dive into the research topics of 'Characterizing and Detecting Program Representation Faults of Static Analysis Frameworks'. Together they form a unique fingerprint.

Cite this