Detecting regression bugs in software evolution, analyzing side-channels in programs and evaluating robustness in deep neural networks (DNNs) can all be seen as instances of differential software analysis, where the goal is to generate diverging executions of program paths. Two executions are said to be diverging if the observable program behavior differs, e.g., in terms of program output, execution time, or (DNN) classification. The key challenge of differential software analysis is to simultaneously reason about multiple program paths, often across program variants.
This paper presents HyDiff, the first hybrid approach for differential software analysis. HyDiff integrates and extends two very successful testing techniques: Feedback-directed greybox fuzzing for efficient program testing and shadow symbolic execution for systematic program exploration. HyDiff extends greybox fuzzing with divergence-driven feedback based on novel cost metrics that take into account the control flow graph of the program. Furthermore HyDiff extends shadow symbolic execution by applying four-way forking in a systematic exploration and still having the ability to incorporate concrete inputs in the analysis. HyDiff applies divergence revealing heuristics based on resource consumption and control-flow information to efficiently guide the symbolic exploration, which allows its efficient usage beyond regression testing applications. We introduce differential metrics such as output, decision and cost difference, as well as patch distance, to assist the fuzzing and symbolic execution components in maximizing the execution divergence.
We implemented our approach on top of the fuzzer AFL and the symbolic execution framework Symbolic PathFinder. We illustrate HyDiff on regression and side-channel analysis for Java bytecode programs, and further show how to use HyDiff for robustness analysis of neural networks.
Tue 7 JulDisplayed time zone: (UTC) Coordinated Universal Time change
07:00 - 08:00
|Targeted Greybox Fuzzing with Static Lookahead AnalysisTechnical|
|HyDiff: Hybrid Differential Software AnalysisTechnical|
Yannic Noller Humboldt-Universität zu Berlin, Corina S. Pasareanu Carnegie Mellon University Silicon Valley, NASA Ames Research Center, Marcel Böhme Monash University, Youcheng Sun Queen's University Belfast, Hoang Lam Nguyen Humboldt-Universität zu Berlin, Lars Grunske Humboldt-Universität zu BerlinPre-print
|Towards Characterizing Adversarial Defects of Deep Learning Software from the Lens of UncertaintyTechnical|
Xiyue Zhang Peking University, Xiaofei Xie Nanyang Technological University, Lei Ma Kyushu University, Xiaoning Du Nanyang Technological University, Qiang Hu Kyushu University, Japan, Yang Liu Nanyang Technological University, Singapore, Jianjun Zhao Kyushu University, Meng Sun Peking UniversityPre-print
|One Size Does Not Fit All: A Grounded Theory and Online Survey Study of Developer Preferences for Security Warning TypesTechnical|
|Hey, my data are mine! Active data to empower the userNIER|
New Ideas and Emerging Results
Gian Luca Scoccia University of L'Aquila, Matteo Maria Fiore University of L'Aquila, Patrizio Pelliccione University of L'Aquila and Chalmers | University of Gothenburg, Marco Autili University of L'Aquila, Italy, Paola Inverardi University of L'Aquila, Alejandro Russo Chalmers University of Technology, Sweden
|Threat modeling: from infancy to maturityNIER|
New Ideas and Emerging Results
Koen Yskout imec - DistriNet, KU Leuven, Thomas Heyman Toreon, Dimitri Van Landuyt Katholieke Universiteit Leuven, Laurens Sion imec-DistriNet, KU Leuven, Kim Wuyts imec-DistriNet, KU Leuven, Wouter Joosen Katholieke Universiteit LeuvenPre-print