ISSTA 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Thu 19 Sep 2024 13:30 - 13:50 at EI 9 Hlawka - Static analysis Chair(s): Dominik Helm

Static analysis techniques for buffer overflow detection still struggle with being scalable for millions of lines of code, while being precise enough to have an acceptable false positive rate. The checking of buffer overflow necessitates reasoning about the heap reachability and numerical relations, which are mutually dependent. Existing techniques to resolve the dependency cycle either sacrifice precision or efficiency due to their limitations in reasoning about symbolic heap location, i.e., heap location with possibly symbolic numerical offsets. A symbolic heap location potentially aliases a large number of other heap locations, leading to a disjunction of heap states that is particularly challenging to reason precisely.

Acknowledging the inherent difficulties in heap and numerical reasoning, we introduce a disjointness assumption into the analysis by shrinking the program state space so that all the symbolic locations involved in memory accesses are disjoint from each other. The disjointness property permits strong updates to be performed at symbolic heap locations, significantly improving the precision by incorporating numerical information in heap reasoning. Also, it aids in the design of a compositional analysis to boost scalability, where compact and precise function summaries are efficiently generated and reused. We implement the idea in the static buffer overflow detector Cod. When applying it to large, real-world software such as PHP and QEMU, we have uncovered 29 buffer overflow bugs with a false positive rate of 37%, while projects of millions of lines of code can be successfully analyzed within four hours.

Thu 19 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 14:50
Static analysisTechnical Papers at EI 9 Hlawka
Chair(s): Dominik Helm University of Duisburg-Essen; TU Darmstadt; National Research Center for Applied Cybersecurity ATHENE
13:30
20m
Talk
Precise Compositional Buffer Overflow Detection via Heap DisjointnessACM SIGSOFT Distinguished Paper Award
Technical Papers
Yiyuan Guo Hong Kong University of Science and Technology, Peisen Yao Zhejiang University, Charles Zhang Hong Kong University of Science and Technology
DOI Pre-print
13:50
20m
Talk
Finding Cuts in Static Analysis Graphs to Debloat Software
Technical Papers
Christoph Blumschein Hasso Plattner Institute; University of Potsdam, Fabio Niephaus Oracle Labs, Codrut Stancu Oracle Labs, Christian Wimmer Oracle Labs, Jens Lincke Hasso Plattner Institute; University of Potsdam, Robert Hirschfeld Hasso Plattner Institute; University of Potsdam
DOI Pre-print
14:10
20m
Talk
Scalable, Sound, and Accurate Jump Table Analysis
Technical Papers
Huan Nguyen Stony Brook University, Soumyakant Priyadarshan Stony Brook University, R. Sekar Stony Brook University
DOI
14:30
20m
Talk
Better Not Together: Staged Solving for Context-Free Language Reachability
Technical Papers
Chenghang Shi Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Haofeng Li Institute of Computing Technology at Chinese Academy of Sciences, Jie Lu Institute of Computing Technology at Chinese Academy of Sciences, Lian Li Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences
DOI Pre-print

Information for Participants
Thu 19 Sep 2024 13:30 - 14:50 at EI 9 Hlawka - Static analysis Chair(s): Dominik Helm
Info for room EI 9 Hlawka:

Map: https://tuw-maps.tuwien.ac.at/?q=CAEG17

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/13939