Skip to Main Content
 

Global Search Box

 
 
 
 

Files

ETD Abstract Container

Abstract Header

Runtime Support for Improving Reliability in System Software

Abstract Details

2010, Doctor of Philosophy, Ohio State University, Computer Science and Engineering.

As software is becoming increasingly complex, software reliability is getting more and more important. In particular, the reliability of system software is critical to the overall reliability of computer systems since system software is designed to provide a platform for application software running on top of. Unfortunately, it is very challenging to ensure the reliability of system software and the defects (bugs) in it can often cause severe impact.

This dissertation proposes to use runtime support for improving system software reliability. Runtime support here refers to the technique to extend the runtime software system with more functionalities useful for reliability-oriented tasks, such as instrumentation-based profiling, runtime analysis, checkpointing/re-execution, scheduling control, memory layout control, etc. Leveraging runtime support, this dissertation proposes novel methods for bug manifestation, bug detection, bug diagnosis, failure recovery and error prevention in multiple phases in the software development and deployment cycle.

Specifically, in pre-release testing phase, in order to improve the testing effectiveness and efficiency, this dissertation proposes a method called 2ndStrike to help manifest the concurrency bugs hidden in system software. Facing the fact that there are always some bugs making their way to deployment sites no matter how rigorous the software testing is, this dissertation proposes its second method called DMTracker to help monitor the distributed and parallel system software and detect runtime errors. To handle the runtime errors caused by memory management bugs, this dissertation proposes its third method called First-Aid to help diagnose the failure, recover the program, and prevent future errors due to the same bugs.

We have designed and implemented software prototypes for the proposed methods and evaluated them with real world bugs on large open-source system software packages, such as Apache, MySQL, Mozilla, MVAPICH, etc. The experimental results show that the methods proposed in this dissertation can provide great help in improving reliability of system software in various scenarios. In addition, the results also demonstrate that the runtime support in these methods can bring key advantages such as high efficiency, high accuracy, and high usability.

Feng Qin, PhD (Advisor)
Atanas Rountev, PhD (Committee Member)
Xiaodong Zhang, PhD (Committee Member)
133 p.

Recommended Citations

Citations

  • Gao, Q. (2010). Runtime Support for Improving Reliability in System Software [Doctoral dissertation, Ohio State University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=osu1267818711

    APA Style (7th edition)

  • Gao, Qi. Runtime Support for Improving Reliability in System Software. 2010. Ohio State University, Doctoral dissertation. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=osu1267818711.

    MLA Style (8th edition)

  • Gao, Qi. "Runtime Support for Improving Reliability in System Software." Doctoral dissertation, Ohio State University, 2010. http://rave.ohiolink.edu/etdc/view?acc_num=osu1267818711

    Chicago Manual of Style (17th edition)