Off-campus UMass Amherst users: To download campus access dissertations, please use the following link to log into our proxy server with your UMass Amherst user name and password.

Non-UMass Amherst users: Please talk to your librarian about requesting this dissertation through interlibrary loan.

Dissertations that have an embargo placed on them will not be available to anyone until the embargo expires.

Author ORCID Identifier



Open Access Dissertation

Document Type


Degree Name

Doctor of Philosophy (PhD)

Degree Program

Computer Science

Year Degree Awarded


Month Degree Awarded


First Advisor

George S. Avrunin

Second Advisor

Lori A. Clarke


This work presents a systematic, incremental approach to identifying causes of potential failures in complex systems. The approach builds upon Fault Tree Analysis (FTA), but enhances previous work to deliver better results. FTA has been applied in a number of domains to determine what combinations of events might lead to a specified undesired event that represents a system failure. Given an undesired event, FTA constructs a fault tree (FT) and computes its cut sets, the sets of events that together could cause the undesired event. Such cut sets provide valuable insights into how to improve the design of the system being analyzed to reduce the likelihood of the failure. Manual FT construction can be tedious and error-prone. Previous approaches to automatic FT construction are limited to systems modeled in specific modeling languages and often fail to recognize some important causes of failures. Also, these approaches tend to not provide enough information to help users understand how the events in a cut set could lead to the specified undesired event and, at the same time, often provide too many cut sets to be helpful, especially when systems are large and complex. Our approach to identifying causes of potential system failures is incremental and consists of two phases that support selective exploration. In the first phase, a high-level FT, called the initial FT, is constructed based on the system's data and control dependence information and then the initial FT's cut sets, called the initial cut sets, are computed. In the second phase, users select one initial cut set for more detailed analysis. In this detailed analysis, additional control dependence information is incorporated and error combinations are considered to construct a more detailed FT, called the elaborated FT, that focuses on the chosen initial cut set. The cut sets of the elaborated FT, called the elaborated cut sets, are then computed, and concrete scenarios are generated to show how events in each of those elaborated cut sets could cause the specified undesired event. Our approach is applicable to any system model that incorporates control and data dependence information. The approach also improves the precision of the results by automatically eliminating some inconsistent and spurious cut sets.