Symbolic execution of complex program driven by machine learning based constraint solving

Xin Li, Yongjuan Liang, Hong Qian, Yi Qi Hu, Lei Bu, Yang Yu, Xin Chen, Xuandong Li

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

31 Scopus citations

Abstract

Symbolic execution is a widely-used program analysis technique. It collects and solves path conditions to guide the program traversing. However, due to the limitation of the current constraint solvers, it is difficult to apply symbolic execution on programs with complex path conditions, like nonlinear constraints and function calls. In this paper, we propose a new symbolic execution tool MLB to handle such problem. Instead of relying on the classical constraint solving, in MLB, the feasibility problems of the path conditions are transformed into optimization problems, by minimizing some dissatisfaction degree. The optimization problems are then handled by the underlying optimization solver through machine learning guided sampling and validation. MLB is implemented on the basis of Symbolic PathFinder and encodes not only the simple linear path conditions, but also nonlinear arithmetic operations, and even black-box function calls of library methods, into symbolic path conditions. Experiment results show that MLB can achieve much better coverage on complex realworld programs.

Original languageEnglish
Title of host publicationASE 2016 - Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering
EditorsSarfraz Khurshid, David Lo, Sven Apel
PublisherAssociation for Computing Machinery, Inc
Pages554-559
Number of pages6
ISBN (Electronic)9781450338455
DOIs
StatePublished - 25 Aug 2016
Externally publishedYes
Event31st IEEE/ACM International Conference on Automated Software Engineering, ASE 2016 - Singapore, Singapore
Duration: 3 Sep 20167 Sep 2016

Publication series

NameASE 2016 - Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering

Conference

Conference31st IEEE/ACM International Conference on Automated Software Engineering, ASE 2016
Country/TerritorySingapore
CitySingapore
Period3/09/167/09/16

Keywords

  • Complicated Path Condition
  • Constraint Solving
  • Machine Learning
  • Symbolic Execution

Fingerprint

Dive into the research topics of 'Symbolic execution of complex program driven by machine learning based constraint solving'. Together they form a unique fingerprint.

Cite this