Ph.D. Defense of Dissertation: Saswat Anand

*********************************
There is now a CONTENT FREEZE for Mercury while we switch to a new platform. It began on Friday, March 10 at 6pm and will end on Wednesday, March 15 at noon. No new content can be created during this time, but all material in the system as of the beginning of the freeze will be migrated to the new platform, including users and groups. Functionally the new site is identical to the old one. webteam@gatech.edu
*********************************

Event Details
  • Date/Time:
    • Friday May 4, 2012 - Saturday May 5, 2012
      3:00 pm - 2:59 pm
  • Location: KACB 2108
  • Phone:
  • URL:
  • Email:
  • Fee(s):
    N/A
  • Extras:
Contact

Saswat Anand

Summaries

Summary Sentence: No summary sentence submitted.

Full Summary: No summary paragraph submitted.

Title: Techniques to Facilitate Symbolic Execution of Real-world Programs

Saswat Anand
School of Computer Science
College of Computing
Georgia Institute of Technology

When: May 04 Friday 11AM
Where: KACB 2108

Committee:

  • Dr. Mary Jean Harrold (Advisor, School of Computer Science, Georgia Institute of Technology)
  • Dr. Mayur Naik (School of Computer Science, Georgia Institute of Technology)
  • Dr. Alessandro Orso (School of Computer Science, Georgia Institute of Technology)
  • Dr. Santosh Pande (School of Computer Science, Georgia Institute of Technology)
  • Dr. Willem Visser (Department of Mathematical Science, University of Stellenbosch, South Africa)


Summary:
The overall goal of this research is to reduce the cost of software development and improve the quality of software. Symbolic execution is a program-analysis technique that is used to address several problems that arise in developing high-quality software. Despite the fact that the symbolic execution technique is well understood, and performing symbolic execution on simple programs is straightforward, it is still not possible to apply the technique to the general class of large, real-world software. A symbolic-execution system can be effectively applied to large, real-world software if it has at least the two features: efficiency and automation. However, efficient and automatic symbolic execution of real-world programs is a lofty goal because of both theoretical and practical reasons. Theoretically, achieving this goal requires solving an intractable problem (i.e., solving constraints). Practically, achieving this goal requires overwhelming effort to implement a symbolic-execution system that can precisely and automatically symbolically execute real-world programs.

This research makes three major contributions.
1. Three new techniques that address three important problems of symbolic execution. Compared to existing techniques, the new techniques

  • reduce the manual effort that may be required to symbolically execute those programs that either generate complex constraints or parts of which  cannot be symbolically executed due to limitations of a symbolic-execution system.
  • improve the usefulness of symbolic execution (e.g., expose more bugs in a program) by enabling discovery of more feasible paths within a given time budget.

2. A novel approach that uses symbolic execution to generate test inputs for Apps that run on modern mobile devices such as smartphones and tablets.
3. Implementations of the above techniques and empirical results obtained from applying those techniques to real-world programs that demonstrate their effectiveness.

Additional Information

In Campus Calendar
No
Groups

College of Computing, School of Computer Science

Invited Audience
No audiences were selected.
Categories
No categories were selected.
Keywords
No keywords were submitted.
Status
  • Created By: Jupiter
  • Workflow Status: Published
  • Created On: Apr 23, 2012 - 7:26am
  • Last Updated: Oct 7, 2016 - 9:58pm