From f823ccc928ae09a63ffef5b6cfe47966e2da1890 Mon Sep 17 00:00:00 2001
From: Carlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>
Date: Mon, 26 Nov 2012 13:59:29 +1100
Subject: A bunch more writing. Write write write.

---
 tex/thesis/introduction/introduction.tex | 45 ++++++++++++++++++++++++++++----
 1 file changed, 40 insertions(+), 5 deletions(-)

(limited to 'tex/thesis/introduction/introduction.tex')

diff --git a/tex/thesis/introduction/introduction.tex b/tex/thesis/introduction/introduction.tex
index f59f30f..ffc6cd2 100644
--- a/tex/thesis/introduction/introduction.tex
+++ b/tex/thesis/introduction/introduction.tex
@@ -2,19 +2,54 @@
 
 \section{Motivation}
 
-Software bugs are bad. Bugs have significant costs in terms of time,
-money, security and lives. Hailpern and Santhanam state that
-debugging, verification and testing can easily range from 50\% to 75\%
-of the total development cost of a
+%Main points:
+%  - software is taking on more important roles 
+%  - software bugs are dangerous
+%  - software bugs are expensive
+%  - we have to minimise the number of bugs we have
+
+In today's increasingly technological world, software bugs can have
+significant consequences, ranging from the relatively minor
+frustration caused to average users to causing deaths. There have been
+several incidents in recent years in which a bug in a software system
+has led directly to injury or death. X-ray machines which provide too
+high a dose of radiation, cars which continue to accelerate against
+the driver's wishes and other dangerous situations have all come about
+as a direct result of software bugs.
+
+Software bugs also have significant financial costs, with Hailpern and
+Santhanam static that debugging, verification and testing can easily
+comprise 50\% to 75\% of the total development cost of a
 system\cite{Hailpern01softwaredebugging}.
 
+In order to limit the number of bugs we have it has become commonplace
+to employ sophisticated approaches to testing. Many different types of
+testing are done to attempt to ensure that software is bug-free. These
+tests, although extremely useful, are inherently incapable of
+\emph{guaranteeing} that software is free of bugs. This is especially
+a problem in critical software systems, such as those found in
+aeroplanes or large industrial machinery, where software failure can
+have catastrophic consequences.
+
+In order to provide a guarantee that software is free of bugs we must
+in some way \emph{verify} the software before running it. While it is
+possible to write programs in a way that is easier to verify, it is
+still a difficult and expensive process to provide verification.
+
+Recently there has been work done in automatically analysing programs
+in order to identify bugs. This work is broadly classed \emph{static
+  analysis} and this thesis contributes to this work.
+
+
+
+
 \section{Contribution}
 
 In this thesis we present an implementation of the strategy-iteration
 based static analyser presented by Gawlitza et
 al.\cite{EasyChair:117}. Our implementation has several enhancements
 which significantly improve the practical performance of the analyser
-on real-world data.
+on real-world programs.
 
 Theoretical contribution:
 \begin{enumerate}
-- 
cgit v1.3

