next up previous
Next: Dissertation Organization Up: Introduction Previous: Premises and Hypothesis

Dissertation Contributions

We consider the key contributions of this dissertation to be:

  1. Defining succinctly the Maxim of Uncertainty in Software Engineering, identifying the abundance of uncertainties and their relevance to software process decisions and project risk management. Also, as corollary, we suggest strongly that the software life cycle include search, identification, modeling and management of software uncertainties.
  2. Defining an approach to explicitly model uncertainty in relevant software situations. This approach is anchored in a Bayesian interpretation of relationships and dependencies among software artifacts. It is suggested and demonstrated that Bayesian belief networks, originally described by Pearl [Pea88], may be used for this purpose.
  3. Implementing a prototype Java applet that allows software systems to be defined as graphs of related artifacts as well as be annotated with uncertainty information. These software belief networks can then be subject to Bayesian updating.
  4. Conducting a case study to substantiate the maxim above and to evaluate the applicability of Bayesian belief networks to a real software project. To this end, we selected as case study the CEquencer system described earlier. Though confined, our case study indicates that explicit modeling of software uncertainties improves developers' ability to identify and track changes to levels of confidence in software artifacts and relations.

Hadar Ziv
Fri Jun 20 16:22:31 PDT 1997