ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Wed 17 Apr 2024 11:00 - 11:15 at Fernando Pessoa - Analysis 1 Chair(s): Davide Taibi

Previous work has shown that one can often greatly speed up static analysis by computing data flows not for every edge in the program’s control-flow graph but instead only along definition-use chains. This yields a so-called \emph{sparse} static analysis. Recent work on SparseDroid has shown that specifically taint analysis can be ``sparsified'' with extraordinary effectiveness because the taint state of one variable does not depend on those of others. This allows one to soundly omit more flow-function computations than in the general case.

In this work, we now assess whether this result carries over to the more generic setting of so-called Interprocedural Distributive Environment (IDE) problems. Opposed to taint analysis, IDE comprises distributive problems with large or even \emph{infinitely broad} domains, such as typestate analysis or linear constant propagation. Specifically, this paper presents Sparse IDE, a framework that realizes sparsification for any static analysis that fits the IDE framework.

We implement Sparse IDE in SparseHeros, as an extension to the popular Heros IDE solver, and evaluate its performance on real-world Java libraries by comparing it to the baseline IDE algorithm. To this end, we design, implement and evaluate a linear constant propagation analysis client on top of SparseHeros. Our experiments show that, although IDE analyses can only be sparsified with respect to symbols and not (numeric) values, Sparse IDE can nonetheless yield significantly lower runtimes and often also memory consumptions compared to the original IDE.

Wed 17 Apr

Displayed time zone: Lisbon change

11:00 - 12:30
11:00
15m
Talk
Symbol-Specific Sparsification of Interprocedural Distributive Environment Problems
Research Track
Kadiray Karakaya Heinz Nixdorf Institut, Paderborn University, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
Pre-print
11:15
15m
Talk
A Framework For Inferring Properties of User-Defined Functions
Research Track
Xinyu Liu Georgia Institute of Technology, Joy Arulraj Georgia Institute of Technology, Alessandro Orso Georgia Institute of Technology
11:30
15m
Talk
Building Collaborative Learning: Exploring Social Annotation in Introductory Programming
Software Engineering Education and Training
Francisco Gomes de Oliveira Neto Chalmers | University of Gothenburg, Felix Dobslaw Mid Sweden University
11:45
15m
Talk
Teaching Software Development for Real-World Problems using a Microservice-Based Collaborative Problem-Solving Approach
Software Engineering Education and Training
Yi Meng LAU Singapore Management University, Christian Michael KOH Singapore Management University, Lingxiao Jiang Singapore Management University
12:00
7m
Talk
Detecting Outdated Code Element References in Software Repository Documentation
Journal-first Papers
Wen Siang Tan The University of Adelaide, Markus Wagner Monash University, Australia, Christoph Treude Singapore Management University
12:07
7m
Talk
Augmenting Diffs With Runtime Information
Journal-first Papers
Khashayar Etemadi KTH Royal Institute of Technology, Aman Sharma KTH Royal Institute of Technology, Fernanda Madeiral Vrije Universiteit Amsterdam, Martin Monperrus KTH Royal Institute of Technology
Link to publication Pre-print
12:14
7m
Talk
TPV: A Tool for Validating Temporal Properties in UML Class Diagrams
Demonstrations
Mustafa Al Lail Texas A&M International University, Antonio Rosales Viesca Texas A&M International University, Hector Cardenas Texas A&M International University, Mohammad Zarour Hashemite University, Alfredo Perez University of Nebraska at Omaha