\documentclass[12pt]{report}
\topmargin=0in
\headheight=0in
\headsep=0in
\oddsidemargin=0in
\evensidemargin=0in
\textwidth=6.5in
\textheight=9in

\usepackage{bar}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{algorithmic,cite,footmisc,multirow,url,amsmath}
\usepackage{color}
\usepackage{pslatex}
\usepackage{fullpage}
\usepackage{alltt}
\usepackage{rotating}
\usepackage{float}
\usepackage{pifont}
\usepackage{wasysym}
\usepackage{amssymb}
\usepackage{listings}


\newenvironment{ccode}{\begin{center}\scriptsize\begin{alltt}}{\end{alltt}\end{center}\normalsize}

\singlespacing

\DeclareMathOperator*{\argmin}{arg\,min}
\newcommand{\hmm}[1]{{\underline {\bf #1}}}
\newcommand{\hey}{~~~$\blacktriangle\blacktriangle$}
\newcommand{\bi}{\begin{itemize}}
\newcommand{\ei}{\end{itemize}}
\newcommand{\be}{\begin{enumerate}}
\newcommand{\ee}{\end{enumerate}}
\newcommand{\fig}[1]{Figure~\ref{fig:#1}}
\newcommand{\eq}[1]{Equation~\ref{eq:#1}}
\newcommand{\subsub}[1]{subsubsection~\ref{subsub:#1}}
\newcommand{\sub}[1]{subsection~\ref{sub:#1}}
\newcommand{\tion}[1]{\S\ref{sec:#1}}
\newcommand{\chap}[1]{Chapter~\ref{chap:#1}}
\newcommand{\boxplot}[5]{
\begin{picture}(100, 7)
\put(#1, 2){\line(0, 1){4}}
\put(#1, 4){\line(1, 0){#2}}
\put(#3, 4){\circle*{3}}
\put(#3, 4){\line(1, 0){#4}}
\put(#5, 2){\line(0, 1){4}}
\put(50, 3){\line(0, 1){4}}
\end{picture}
}

\begin{document}

\thispagestyle{empty}

\title{\large Software Process Control Without Calibration}
\author{\normalsize Oussama El-Rawas \\ \\ 
\normalsize Thesis submitted to the \\
\normalsize College of Engineering and Mineral Resources \\
\normalsize at West Virginia University \\
\normalsize in partial fulfillment of the requirements \\
\normalsize for the degree of \\ \\
\normalsize Master of Science in Electrical Engineering \\
\normalsize (with Software Engineering as a major focus) \\ \\
\normalsize Tim Menzies, Ph.D., Chair \\
\normalsize Hany Ammar, Ph.D. \\
\normalsize Bojan Cukic, Ph.D. \\ \\
\normalsize Lane Department of Computer Science and Electrical Engineering \\ \\
\normalsize Morgantown, West Virginia \\
\normalsize 2008 \\ \\
\normalsize Keywords: Search-based Software Engineering, COCOMO, COQUALMO,\\ 
\normalsize SCHEDULE, THREAT, Simulated Annealing, STAR, Managing Uncertainty, AI Search\\ \\
%COCOMO, effort estimation, row pruning, evaluation, Mann-Whitney U test
%\normalsize Copyright \copyright~2008 Oussama El-Rawas
\includegraphics[scale=0.85]{misc/cc.png}
}

\date{}
\maketitle
\begin{abstract}
\begin{center}
Software Process Control Without Calibration \vspace{1.5ex} \\
Oussama El-Rawas
\end{center}
Software process control is important for large enterprise since it is essential for software project management. Boehm~\cite{boehm99,boehm00a,boehm00b,chulani99,boehm88,boehm00} argues that the best way to do software process control is reusing old proven models (e.g. COCOMO for effort, COQUALMO for defects, etc) while tuning them to local data in order to obtain accurate estimates. This however suggests that historic data is available related to the use of these models in previous software projects. This is not the case, as the availability of relevant historic data related to the use of the above models in a specific software environment is scarce, whether due to the lack of documentation or the unwillingness of companies to disclose such data~\cite{me06d}.\vspace{1.5ex}

To bypass this problem, we implemented a system called STAR. This system uses a combination of an AI search algorithm and a back-select algorithm to determine recommended work that needs to be done on a software project. STAR also has the ability to use multiple models in the evaluation of recommended practice; a feature that is not available in any previous work to the best of our knowledge. The models used are part of the USC family of software engineering models~\cite{boehm00b} and include: COCOMO II for effort, COQUALMO for defects, a schedule model for development time, and the Madachy~\cite{madachy94} threat model for risk assessment.\vspace{1.5ex}

Upon implementing STAR, we observed stable results that were comparable to those generated by tools currently used, while bypassing the local tuning problem that those tools face. In addition, we were able to tackle several issues related to software process control using STAR. So, in the future we recommend that, in situations where local tuning data isn't available, we exploit the uncertainty of not having local tuning data by searching for stable conclusions withing the space of possible recommendations using AI search engines similar to STAR.

\end{abstract}

\doublespacing

\chapter*{Dedication}
\renewcommand{\thepage}{\roman{page}}
\setcounter{page}{3}

\begin{center}
\textit{I would like to dedicate this work God, who has seen me through many trials and has given me the ability and the talent to produce this work, and who continues to show me grace everyday through his son Jesus Christ.} \\
\end{center}

\chapter*{Acknowledgments}
I acknowledge my parents, whom without their unwavering support I would not have been able to achieve what I have; my brother whom I dearly love; my friends and family here in the US and in Morgantown, WV specifically: I've been blessed by knowing you and by how you've embraced me as one of your own; my research advisor Dr. Tim Menzies for guiding my research and keeping me on track with what I need to do; my committee who have each contributed towards this work in one way or another; the ICSE 2008 May 13 panel members, facilitators and scribe (thank you Greg Gay); all my colleagues that I've had the pleasure to work with, who include Dan Baker, Omid Jalali, Phillip Green, Steve Williams, among others; Julian Richardson and Jarius Hihn for supporting this work either through funding or by supplying valuable data and feedback; and last but not least my roommates for being patient with me and Amanda Berousek for support and encouragement. 
\singlespacing

\tableofcontents
\listoffigures
%\listoftables
%\pagebreak

\doublespacing

\chapter{Introduction}\label{chap:intro}
\setcounter{page}{1}
\pagenumbering{arabic}
\input{introduction}

\chapter{Related Work}\label{work}
\input{related-work}

\chapter{STAR and Internal Studies}\label{chap:starinternal}
\input{star-internal-studies}

\chapter{NASA Experiments and Advanced ASE Tools}\label{chap:ase}
\input{ase}

\chapter{Expert Studies}\label{chap:external}
\input{external-studies}

\chapter{S-cost and Drastic Control}\label{chap:hohin}
\input{hohin}

\chapter{Better, Faster, Cheaper}\label{chap:bfc}
\input{bfc}

\chapter{Conclusions}\label{conclusions}
\input{conclusions}

\appendix

\singlespacing

\chapter{Obtaining and Using STAR}
These instructions should support a LINUX and CYGWIN install of STAR 2.1. In the event of technical difficulties, please contact the author. {\footnotesize
 \begin{verbatim}
 bash -i
 [ ! -d "$HOME/bin" ] && mkdir $HOME/bin
 export PATH="$PATH:$HOME/bin"
 wget http://unbox.org/wisp/tags/STAR/2.1/STAR_2.1.zip
 unzip STAR_2.1.zip
 make  # Requires gcc
 cd ~/STAR
 cd eg  # Accessing the folder with all the example scripts
 STAR -h   # Showing the STAR help file
 \end{verbatim}
 }
 
 To download and run the trunk version of STAR of the SVN repositories, do the following in place of downloading off of the site directly.
{\footnotesize
\begin{verbatim}
svn checkout http://unbox.org/wisp/trunk/STAR/ # Requires Subversion to be installed
make
\end{verbatim}
}

\chapter{Source Code}
\input{source}

\singlespacing

\bibliography{refs,myrefs}
\bibliographystyle{plain}

\pagebreak
\thispagestyle{empty}

\end{document}


