ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Fri 19 Apr 2024 11:00 - 11:15 at Almada Negreiros - Analysis 3 Chair(s): Dalal Alrajeh

Despite the benefits of using third-party libraries (TPLs), the misuse of TPL functions raises quality and security concerns. Using traditional static analysis to detect bugs caused by TPL function misuse is non-trivial. One promising solution would be to automatically generate and persist the summaries of TPL functions offline and then reuse these summaries in compositional static analysis online. However, when dealing with millions of lines of TPL code, the summaries designed by existing studies suffer from an unresolved paradox. That is, a highly precise form of summary leads to an unaffordable space and time overhead, while an imprecise one seriously hurts its precision or recall.

To address the paradox, we propose a novel two-layer summary design. The first layer utilizes a line-sized program representation known as the program dependence graph to compactly encode path conditions, while the second layer encodes bug-specific properties. We implemented our idea as a tool called LibAlchemy and evaluated it on fifteen mature and extensively checked open-source projects. Experimental results show that LibAlchemy can check over ten million lines of code within ten hours. LibAlchemy has detected 55 true bugs with a high precision of 90.16%, six of which have been assigned CVE IDs. Compared to whole-program analysis and the conventional design of path-sensitively precise summaries, LibAlchemy achieves an 18.56× and 12.77× speedup and saves 91.49% and 90.51% of memory usage, respectively.

Fri 19 Apr

Displayed time zone: Lisbon change

11:00 - 12:30
11:00
15m
Talk
LibAlchemy: A Two-Layer Persistent Summary Design for Taming Third-Party Libraries in Static Bug-Finding Systems
Research Track
Rongxin Wu School of Informatics, Xiamen University, Yuxuan He School of Informatics, Xiamen University, Jiafeng Huang School of Informatics, Xiamen University, Chengpeng Wang The Hong Kong University of Science and Technology, Wensheng Tang The Hong Kong University of Science and Technology, Qingkai Shi Nanjing University, Xiao Xiao Ant Group, Charles Zhang The Hong Kong University of Science and Technology
Pre-print
11:15
15m
Talk
Is unsafe an Achilles' Heel? A Comprehensive Study of Safety Requirements in Unsafe Rust Programming
Research Track
Mohan Cui Fudan University, Mohan Cui Fudan University, Shuran Sun Fudan University, Hui Xu Fudan University, Yangfan Zhou Fudan University
11:30
15m
Talk
Unveiling Hurdles in Software Engineering Education: The Role of Learning Management Systems
Software Engineering Education and Training
Niklas Meissner University of Stuttgart, Nadine Koch University of Stuttgart, Sandro Speth Institute of Software Engineering, University of Stuttgart, Uwe Breitenbücher Reutlingen University, Steffen Becker University of Stuttgart
DOI File Attached
11:45
15m
Talk
Training for Security: Results from Using a SAT in the Development Pipeline of Web Apps
Software Engineering Education and Training
Sabato Nocera Department of Computer Science, University of Salerno, Simone Romano University of Salerno, Rita Francese University of Salerno, Giuseppe Scanniello University of Salerno
12:00
7m
Talk
Refinery: Graph Solver as a Service
Demonstrations
Kristóf Marussy Budapest University of Technology and Economics, Attila Ficsor Budapest University of Technology and Economics, Oszkár Semeráth Budapest University of Technology and Economics, Daniel Varro Linköping University / McGill University
DOI Pre-print Media Attached
12:07
7m
Talk
(Neo4j)^ Browser: Visualizing Variable-Aware Analysis Results
Demonstrations
Rafael F. Toledo University of Waterloo, Joanne M. Atlee University of Waterloo, Rui Ming Xiong University of Waterloo, Mingyu Liu University of Waterloo
DOI Media Attached