Continuous Reasoning of Large Complex Software via Incremental Analysis

Speaker: Bozhen LIU
         Texas A&M University

Title:  "Continuous Reasoning of Large Complex Software via Incremental
         Analysis"

Date:   Tuesday, 8 March 2022

Time:   10:00am - 11:00am (HKT)

Zoom link:
https://hkust.zoom.us/j/928308079?pwd=MW9wTCtlSDd2MnViZGdNd2oreUpXZz09

Meeting ID:     928 308 079
Passcode:       20212022

Abstract:

Continuous Integration (CI) is commonly used in modern software
development, which automatically runs many customized tests to check the
code quality. However, the tests, which may run overnight, cannot
guarantee to reveal all serious bugs (e.g., concurrency bugs) in a
program. Because detecting such bugs requires expensive program analyses
which are hard to achieve efficient, precise and scalable at the same
time. This prevents CI tests from leveraging powerful techniques for error
detection.

This talk will present my recent works on bridging the efficiency and
precision trade-off for expensive program analysis techniques via
incremental analysis. Our approaches are inspired by the fact that
software is often hosted by version control tools (e.g., GitHub) where
small but frequent code changes are made for each commit. Instead of
exhaustively re-analyzing the whole program for the tests, we can analyze
the change only and recompute the impact of the change for program
analysis by leveraging the intermediate analysis results. Firstly, I will
discuss our several incremental algorithms for pointer analysis and static
concurrency bug detection, which are fast and scalable with precision and
soundness. Secondly, motivated by the overwhelming false positives from
static analysis, I will discuss our context "origin", which integrates the
concepts of thread and event to provide precise points-to results for
multithreaded and event-driven programs. Origins are demonstrated to be
efficient and scalable for large, real-world programs (e.g., Linux kernel,
Hadoop, Firefox Focus) and be practical by detecting new races from those
programs. All the discussed techniques are originated from expensive whole
program analyses, and designed for continuous reasoning to be adopted by
CI, which act as references for other techniques of formal reasoning.


*******************
Biography:

Bozhen Liu is a Ph.D. candidate advised by Dr. Jeff Huang in the
Department of Computer Science and Engineering at Texas A&M University.
She received her Bachelor's in Vehicle Engineering from Beijing Institute
of Technology in 2011, her Master's in Mechanical Engineering from Cornell
University in 2013, and her second Master's in Computer Science in 2019.
Her research interests are in continuous integration, incremental
analysis, software engineering, parallel, concurrent and distributed
systems. Her works aim to make expensive static program analysis
techniques more efficient and scalable without losing precision. Her
research has been published in top-tier ACM conferences and journal.