summaryrefslogtreecommitdiff
path: root/tex/thesis/introduction
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-11-26 13:59:29 +1100
committerCarlo Zancanaro <carlo@pc-4w14-0.cs.usyd.edu.au>2012-11-26 13:59:29 +1100
commitf823ccc928ae09a63ffef5b6cfe47966e2da1890 (patch)
treef84385f69a51fc43ab37b728ab779f111c552978 /tex/thesis/introduction
parente51b7cbae7cb644a2df2cbc62137f4529aaecef4 (diff)
A bunch more writing. Write write write.
Diffstat (limited to 'tex/thesis/introduction')
-rw-r--r--tex/thesis/introduction/introduction.tex45
1 files changed, 40 insertions, 5 deletions
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}