SAS 2019: 26TH INTERNATIONAL STATIC ANALYSIS SYMPOSIUM
PROGRAM FOR THURSDAY, OCTOBER 10TH
Days:
previous day
next day
all days

View: session overviewtalk overview

09:00-10:00 Session 5: Keynote: Somesh Jha
Chair:
Patrick Cousot (New York University, United States)
Location: Google
09:00
Somesh Jha (University of Wisconsin-Madison, United States)
Towards Semantic Adversarial Examples

ABSTRACT. Fueled by massive amounts of data, models produced by machine-learning (ML) algorithms, especially deep neural networks, are being used in diverse domains where trustworthiness is a concern, including automotive systems, finance, health care, natural language processing, and malware detection. Of particular concern is the use of ML algorithms in cyber-physical systems (CPS), such as self-driving cars and aviation, where an adversary can cause serious consequences.

However, existing approaches to generating adversarial examples and devising robust ML algorithms mostly ignore the semantics and context of the overall system containing the ML component. For example, in an autonomous vehicle using deep learning for perception, not every adversarial example for the neural network might lead to a harmful consequence. Moreover, one may want to prioritize the search for adversarial examples towards those that significantly modify the desired semantics of the overall system. Along the same lines, existing algorithms for constructing robust ML algorithms ignore the specification of the overall system. In this talk, we argue that the semantics and specification of the overall system has a crucial role to play in this line of research. We present preliminary research results that support this claim.

10:30-12:30 Session 6: Numerical
Chair:
Francesco Ranzato (University of Padova, Italy)
Location: Google
10:30
Anna Becchi (University of Udine, Italy)
Enea Zaffanella (University of Parma, Italy)
Revisiting Polyhedral Analysis for Hybrid Systems
PRESENTER: Enea Zaffanella

ABSTRACT. Thanks to significant progress in the adopted implementation techniques, the recent years have witnessed a renewed interest in the development of analysis tools based on the domain of convex polyhedra. In this paper we revisit the application of this abstract domain to the case of reachability analysis for hybrid systems, focusing on the lesson learned during the development of the tool PHAVerLite. In particular, we motivate the implementation of specialized versions of several well known abstract operators, as well as the adoption of a heuristic technique (boxed polyhedra) for the handling of finite collections of polyhedra, showing their impact on the efficiency of the analysis tool.

11:00
Hang Yu (Verimag, UGA, France)
David Monniaux (Verimag, UGA, France)
An Efficient Parametric Linear Programming Solver and Application to Polyhedral Projection
PRESENTER: Hang Yu

ABSTRACT. Polyhedral projection is a main operation of the polyhedron abstract domain. It can be computed via parametric linear programming(PLP), which is more efficient than the classic Fourier-Motzkin elimination method. In prior work, PLP was done in arbitrary precision rational arithmetic. In this paper, we present an approach where most of the computation is performed in floating-point arithmetic, then exact rational results are reconstructed. We also propose a workaround for a difficulty that plagued previous attempts at using PLP for computations on polyhedra: in general the linear programming problems are degenerate, resulting in redundant computations and geometric descriptions.

11:30
David Delmas (Airbus Operations SAS, France)
Antoine Miné (LIP6, UPMC, France)
Analysis of Software Patches using Numerical Abstract Interpretation
PRESENTER: David Delmas

ABSTRACT. We present a static analysis for software patches. Given two syntactically close versions of a program, our analysis can infer a semantic difference, and prove that both programs compute the same outputs when run on the same inputs. Our method is based on abstract interpretation, and parametric in the choice of an abstract domain. We focus on numeric properties only. Our method is able to deal with unbounded executions of infinite-state programs, reading from infinite input streams. Yet, it is limited to comparing terminating executions, ignoring non terminating ones.

We first present a novel concrete collecting semantics, expressing the behaviors of both programs at the same time. Then, we propose an abstraction of infinite input streams able to prove that programs that read from the same stream compute equal output values. We then show how to leverage classic numeric abstract domains, such as polyhedra or octagons, to build an effective static analysis. We also introduce a novel numeric domain to bound differences between the values of the variables in the two programs, which has linear cost, and the right amount of relationality to express useful properties of software patches.

We implemented a prototype and experimented on a few small examples from the literature. Our prototype operates on a toy language, and assumes a joint syntactic representation of two versions of a program given, which distinguishes between common and distinctive parts.

12:00
Banghu Yin (National University of Defense Technology, China)
Liqian Chen (National University of Defense Technology, China)
Jiangchao Liu (National University of Defense Technology, China)
Ji Wang (School of Computer, National University of Defense Technology, China)
Patrick Cousot (New York University, United States)
Verifying Numerical Programs via Iterative Abstract Testing
PRESENTER: Liqian Chen

ABSTRACT. This paper aims to create an iterative and property oriented verification approach based on abstract testing. Abstract testing employs forward abstract executions (i.e., forward analysis) together with property checking to mimic (regular) testing, and utilizes backward abstract executions (i.e., backward analysis) to derive necessary preconditions that may falsify the target property, which are useful for reducing the input space that needs further investigation. To verify a property, we conduct abstract testing in an iterative manner by utilizing dynamic partitioning to split the input space into sub-spaces such that each sub-space involves fewer program behaviors and may be easier to verify. Moreover, we leverage bounded exhaustive testing to verify bounded small sub-spaces, as a means to complement abstract testing based verification. Compared with abstract interpretation based verification, the strength of our approach will give a proof when the property holds, or generate a counter-example otherwise. The experimental results show that our approach has broad overall strength compared with several state-of-the-art verification tools.

14:00-15:00 Session 7: Trends: Assuring Machine Learning
Chair:
Roberto Giacobazzi (University of Verona, Italy)
Location: Google
14:00
Patrick Cousot (New York University, United States)
Abstract Semantic Dependency

ABSTRACT. Dependency is a prevalent notion in computer science. There have been numerous informal or formal attempts to define viable syntactic and semantic concepts of dependency in programming languages with subtle variations and limitations. We develop a new value dependency analysis defined by abstract interpretation of a trace semantics. A sound approximate dependency algorithm is formally derived by calculational design. Further abstractions provide information flow, slicing, non-interference, dye, and taint analyses.

14:30
Jianlin Li (Institute of Software Chinese Academy of Sciences, China)
Jiangchao Liu (National University of Defense Technology, China)
Pengfei Yang (Institute of Software Chinese Academy of Sciences, China)
Liqian Chen (National University of Defense Technology, China)
Xiaowei Huang (University of Liverpool, China)
Lijun Zhang (Institute of Software Chinese Academy of Sciences, China)
Analyzing Deep Neural Networks with Symbolic Propagation: Towards Higher Precision and Faster Verification
PRESENTER: Jianlin Li

ABSTRACT. Deep neural networks (DNNs) have been shown lack of robustness for the vulnerability of their classification to small perturbations on the inputs. This has led to safety concerns of applying DNNs to safety-critical domains. Several verification approaches have been developed to automatically prove or disprove safety properties of DNNs. However, these approaches suffer from either the scalability problem, i.e., only small DNNs can be handled, or the precision problem, i.e., the obtained bounds are loose. This paper improves on a recent proposal of analyzing DNNs through the classic abstract interpretation technique, by a novel symbolic propagation technique. More specifically, the values of neurons are represented \emph{symbolically} and propagated forwardly from the input layer to the output layer, on top of abstract domains. We show that our approach can achieve significantly higher precision and thus can prove more properties than using only abstract domains. Moreover, we show that the bounds derived from our approach on the hidden neurons, when applied to a state-of-the-art SMT based verification tool, can improve its performance. We implement our approach into a software tool and validate it over a few DNNs trained on benchmark datasets such as MNIST, etc.