Training Binary Classifiers as Data Structure InvariantsTechnical Track
We present a technique that enables us to distinguish valid from invalid data structure objects. The technique is based on building an artificial neural network, more precisely a binary classifier, and training it to identify valid and invalid instances of a data structure. The obtained classifier can then be used in place of the data structure’s invariant, in order to attempt to identify (in)correct behaviors in programs manipulating the structure. In order to produce the valid objects to train the network, an assumed-correct set of object building routines is randomly executed. Invalid instances are produced by generating values for object fields that ``break'' the collected valid values, i.e., that assign values to object fields that have not been observed as feasible in the assumed-correct program executions that led to the collected valid instances. We experimentally assess this approach, over a benchmark of data structures. We show that this learning technique produces classifiers that achieve significantly better accuracy in classifying valid/invalid objects compared to a technique for dynamic invariant detection, and leads to improved bug finding.
Fri 31 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | Machine Learning in Static AnalysisPapers / Technical Track at Place du Canada Chair(s): Na Meng Virginia Tech | ||
11:00 20mTalk | Training Binary Classifiers as Data Structure InvariantsTechnical Track Technical Track Facundo Molina Universidad Nacional de Rio Cuarto, Argentina, Renzo Degiovanni SnT, University of Luxembourg, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Germán Regis Universidad Nacional de Río Cuarto, Nazareno Aguirre Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires | ||
11:20 20mTalk | Graph Embedding based Familial Analysis of Android Malware using Unsupervised LearningTechnical Track Technical Track Ming Fan MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Xiapu Luo , Jun Liu MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Meng Wang University of Bristol, UK, Chunyin Nong , Qinghua Zheng MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Ting Liu MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China | ||
11:40 20mTalk | A Novel Neural Source Code Representation based on Abstract Syntax TreeTechnical Track Technical Track Jian Zhang Beihang University, Xu Wang Beihang University, Hongyu Zhang The University of Newcastle, Hailong Sun Beihang University, Kaixuan Wang Beihang University, Xudong Liu Beihang University Pre-print | ||
12:00 20mTalk | A Neural Model for Generating Natural Language Summaries of Program SubroutinesTechnical Track Technical Track Alexander LeClair University Of Notre Dame, Siyuan Jiang Eastern Michigan University, Collin McMillan | ||
12:20 10mTalk | Discussion Period Papers |