题名 | Statfier: Automated Testing of Static Analyzers via Semantic-Preserving Program Transformations |
作者 | |
通讯作者 | Tan, Shin Hwei |
DOI | |
发表日期 | 2023
|
会议名称 | 31st ACM Joint Meeting of the European Software Engineering Conference / Symposium on the Foundations-of-Software-Engineering (ESEC/FSE)
|
会议录名称 | |
会议日期 | DEC 03-09, 2023
|
会议地点 | null,San Francisco,CA
|
出版地 | 1601 Broadway, 10th Floor, NEW YORK, NY, UNITED STATES
|
出版者 | |
摘要 | Static analyzers reason about the behaviors of programs without executing them and report issues when they violate pre-defined desirable properties. One of the key limitations of static analyzers is their tendency to produce inaccurate and incomplete analysis results, i.e., they often generate too many spurious warnings and miss important issues. To help enhance the reliability of a static analyzer, developers usually manually write tests involving input programs and the corresponding expected analysis results for the analyzers. Meanwhile, a static analyzer often includes example programs in its documentation to demonstrate the desirable properties and/or their violations. Our key insight is that we can reuse programs extracted either from the official test suite or documentation and apply semantic-preserving transformations to them to generate variants. We studied the quality of input programs from these two sources and found that most rules in static analyzers are covered by at least one input program, implying the potential of using these programs as the basis for test generation. We present Statfier, a heuristic-based automated testing approach for static analyzers that generates program variants via semantic-preserving transformations and detects inconsistencies between the original program and variants (indicate inaccurate analysis results in the static analyzer). To select variants that are more likely to reveal new bugs, Statfier uses two key heuristics: (1) analysis report guided location selection that uses program locations in the reports produced by static analyzers to perform transformations and (2) structure diversity driven variant selection that chooses variants with different program contexts and diverse types of transformations. Our experiments with five popular static analyzers show that Statfier can find 79 bugs in these analyzers, of which 46 have been confirmed. |
关键词 | |
学校署名 | 第一
|
语种 | 英语
|
相关链接 | [来源记录] |
收录类别 | |
资助项目 | National Natural Science Foundation of China["62002256","62232001"]
|
WOS研究方向 | Computer Science
|
WOS类目 | Computer Science, Software Engineering
; Computer Science, Theory & Methods
|
WOS记录号 | WOS:001148157800021
|
来源库 | Web of Science
|
引用统计 |
被引频次[WOS]:5
|
成果类型 | 会议论文 |
条目标识符 | http://sustech.caswiz.com/handle/2SGJ60CL/706649 |
专题 | 南方科技大学 |
作者单位 | 1.Southern University of Science and Technology, Shenzhen, China 2.The Hong Kong Polytechnic University, Hong Kong 3.College of Intelligence and Computing, Tianjin University, Tianjin, China 4.Concordia University, Montreal, Canada |
第一作者单位 | 南方科技大学 |
第一作者的第一单位 | 南方科技大学 |
推荐引用方式 GB/T 7714 |
Zhang, Huaien,Pei, Yu,Chen, Junjie,et al. Statfier: Automated Testing of Static Analyzers via Semantic-Preserving Program Transformations[C]. 1601 Broadway, 10th Floor, NEW YORK, NY, UNITED STATES:ASSOC COMPUTING MACHINERY,2023.
|
条目包含的文件 | 条目无相关文件。 |
|
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论