Dissertation > Excellent graduate degree dissertation topics show

The Design of Performance Optimization for Dynamic Symbolic Execution

Author: JiXiaoLi
Tutor: YangGuoWu
School: University of Electronic Science and Technology
Course: Computer Software and Theory
Keywords: Dynamic symbolic execution path explosion superblock dominator graph vulnerability test code coverage
CLC: TP311.53
Type: Master's thesis
Year: 2013
Downloads: 22
Quote: 0
Read: Download Dissertation

Abstract


With the rapid development of computer sciences, the quality of software hasbecome a focus of research. It is important for a software vulnerability detectiontechnology to be able to accurately and comprehensively detect all the potentialvulnerabilities. Traditional static testing approaches fall far short of what is requirednow. Automate fuzz test is a popular weapon in the ongoing fight against softwaresecurity exploitation. But its inherent defects cannot satisfy the effective andcomprehensive testing requirements. Symbolic execution technology has been proposedas early as the70s, and that has found renewed interested in recent years. Dynamicsymbolic execution, short for DSE, is now the underling technique of several populartesting tools, which can automatically generating testcases that achieve high codecoverage of program executions.Dynamic symbolic execution still suffers from scalability issues due to the pathexplosion. Systematically execute all feasible program paths when testing largeapplications with hundreds of millions of instructions is still problematic within alimited search period. Although there are a series of solutions be put forward, such aspruning redundant paths, heuristics research and others, the challenge is still existed.In this thesis, through the further study of symbolic execution and path explosion, anovel path selection algorithm, called dominator algorithm, is proposed to improvingthe code coverage and execution performance. This algorithm depends on a globalsuperblock dominator graph, which is transformed from the control flow graph and thefunctions call relationship graph of the under test program based on the theory ofdomination. With the dominator algorithm to drive new path selection, the DSE tool canmaximize the number of new covered code each execution. In addition, a DSEprototype system, called DDse, was build under Linux OS to validate the new algorithm.DDse select Valgrind as instrumentation tool and Stp as constraints solver, and six pathselection methods include dominator algorithm are implement in. Severalmiddle-to-large sized open source applications under Linux system are tested, throughthe tests and the analysis result proved that the dominator algorithm has realized the proposed target that effectively improved the performance of DSE system.

Related Dissertations

  1. Research of Fuzzing Based on Genetic Algorithm,TP311.53
  2. Based on dynamic symbolic execution of code analysis tools for research,TP309
  3. Design and Implementation of Testing System for Trusted Computing Platform,TP311.53
  4. Research on Key Technologies of Malicious Code Binary Program Behavior Analysis,TP393.08
  5. Code Coverage Analysis and Path Selection Technology Research and Application,TP311.52
  6. Based on binary executable code coverage testing technology research,TP393.08
  7. System Verilog Based System Level Verification and Design of Denoise Module in Image Signal Processing System,TN919.5
  8. Research and Design of Host Vulnerability Scanner,TP393.08
  9. VHDL Implement of Float-point FFT and the Research on HDL Functional Verification Strategies,TN707
  10. Research and Implementation of vulnerability detection network security risk assessment system,TP393.08
  11. The Study on Functional Verification Methods and Technologies for Sequential Circuits,TN79
  12. Coverage Analysis of North Birdge Functional Verification,TN407
  13. Research and Application of the Function Verification in the IP Core Design,TN402
  14. Research and implementation of software testing projects based MSDN FORUMS,TP311.52
  15. Java Card Code Coverage Data Source Mechanism and Calculation,TP311.52
  16. The Design and Implementation of BMC Regression Test Selection Based on Code Coverage,TP311.53
  17. The Research of Software Automated Testing for Aspect-oriented Design,TP311.53
  18. Research on Coverage-Based Fault Localization for Object-Oriented Programs,TP311.5
  19. Vulnerability testing technology based on symbolic execution software,TP311.53
  20. Research and Implementation of Malware Analysis Tool Based on Virtualization,TP309

CLC: > Industrial Technology > Automation technology,computer technology > Computing technology,computer technology > Computer software > Program design,software engineering > Software Engineering > Software Maintenance
© 2012 www.DissertationTopic.Net  Mobile