Next: Dissertation Organization
Up: Introduction
Previous: Premises and Hypothesis
We consider the key contributions of this dissertation to be:
-
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.
-
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.
-
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.
-
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