% THIS IS SIGPROC-SP.TEX - VERSION 3.1
% WORKS WITH V3.2SP OF ACM_PROC_ARTICLE-SP.CLS
% APRIL 2009
%
% It is an example file showing how to use the 'acm_proc_article-sp.cls' V3.2SP
% LaTeX2e document class file for Conference Proceedings submissions.
% ----------------------------------------------------------------------------------------------------------------
% This .tex file (and associated .cls V3.2SP) *DOES NOT* produce:
%       1) The Permission Statement
%       2) The Conference (location) Info information
%       3) The Copyright Line with ACM data
%       4) Page numbering
% ---------------------------------------------------------------------------------------------------------------
% It is an example which *does* use the .bib file (from which the .bbl file
% is produced).
% REMEMBER HOWEVER: After having produced the .bbl file,
% and prior to final submission,
% you need to 'insert'  your .bbl file into your source .tex file so as to provide
% ONE 'self-contained' source file.
%
% Questions regarding SIGS should be sent to
% Adrienne Griscti ---> griscti@acm.org
%
% Questions/suggestions regarding the guidelines, .tex and .cls files, etc. to
% Gerald Murray ---> murray@hq.acm.org
%
% For tracking purposes - this is V3.1SP - APRIL 2009

\documentclass[10pt,compsocconf,conference]{IEEEtran}
\usepackage{bibspacing}
\usepackage{alltt,url,cite}

% Different font in captions
%\newcommand{\captionfonts}{\sffamily\footnotesize}

%\makeatletter  % Allow the use of @ in command names
%\long\def\@makecaption#1#2{%
%  \vskip\abovecaptionskip
%  \sbox\@tempboxa{{\captionfonts #1: #2}}%
%  \ifdim \wd\@tempboxa >\hsize
%    {\captionfonts #1: #2\par}
%  \else
%    \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
%  \fi
%  \vskip\belowcaptionskip}
%\makeatother   % Cancel the effect of \makeatletter
%

\newcommand{\bd}{\begin{description}}
\newcommand{\ed}{\end{description}}
\newcommand{\bi}{\begin{smallitem}}
\newcommand{\ei}{\end{smallitem}}
\newcommand{\be}{\begin{smallenum}}
\newcommand{\ee}{\end{smallenum}}
\newcommand{\tion}[1]{\S\ref{tion:#1}}
\newcommand{\eq}[1]{Equation~\ref{eq:#1}}
\newcommand{\fig}[1]{Figure~\ref{fig:#1}}
\newenvironment{smallitem}
 {\setlength{\topsep}{0pt}
  \setlength{\partopsep}{0pt}
  \setlength{\parskip}{0pt}
  \begin{itemize}
   \setlength{\leftmargin}{.2in}
  \setlength{\parsep}{0pt}
  \setlength{\parskip}{0pt}
  \setlength{\itemsep}{0pt}}
 {\end{itemize}}
\newenvironment{smallenum}
 {\setlength{\topsep}{0pt}
  \setlength{\partopsep}{0pt}
  \setlength{\parskip}{0pt}
  \begin{enumerate}
  \setlength{\leftmargin}{.2in}
  \setlength{\parsep}{0pt}
  \setlength{\parskip}{0pt}
  \setlength{\itemsep}{0pt}}
 {\end{enumerate}}

\ifCLASSINFOpdf
   \usepackage[pdftex]{graphicx}
  % declare the path(s) where your graphic files are
   \graphicspath{{../pdf/}{../jpeg/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
   \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
\else
  % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
  % will default to the driver specified in the system graphics.cfg if no
  % driver is specified.
  % \usepackage[dvips]{graphicx}
  % declare the path(s) where your graphic files are
  % \graphicspath{{../eps/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
  % \DeclareGraphicsExtensions{.eps}
\fi

\begin{document}
\title{From Effort Estimation to Effort Reduction}
%
% You need the command \numberofauthors to handle the 'placement
% and alignment' of the authors beneath the title.
%
% For aesthetic reasons, we recommend 'three authors at a time'
% i.e. three 'name/affiliation blocks' be placed beneath the title.
%
% NOTE: You are NOT restricted in how many 'rows' of
% "name/affiliations" may appear. We just ask that you restrict
% the number of 'columns' to three.
%
% Because of the available 'opening page real-estate'
% we ask you to refrain from putting more than si% More than six makes the first-page appear very cluttered indeed.
%
% Use the \alignauthor commands to handle the names
% and affiliations for an 'aesthetic maximum' of six authors.
% Add names, affiliations, addresses for
% the seventh etc. author(s) as the argument for the
% \additionalauthors command.
% These 'additional authors' will be output/set for you
% without further effort on your part as the last section in
% the body of your article BEFORE References or any Appendices.

%\numberofauthors{1} %  in this sample file, there are a *total*
% of EIGHT authors. SIX appear on the 'first-page' (for formatting
% reasons) and the remaining two appear in the \additionalauthors section.
%
\author{
% You can go ahead and credit any number of authors here,
% e.g. one 'row of three' or two rows (consisting of one row of three
% and a second row of one, two or three).
%
% The command \alignauthor (no curly braces needed) should
% precede each author name, affiliation/snail-mail address and
% e-mail address. Additionally, tag each line of
% affiliation/address with \affaddr, and tag the
% e-mail address with \email.
%
% 1st. author
\IEEEauthorblockN{Adam Brady$^1$, Tim Menzies$^1$, Jacky Keung$^2$}
\IEEEauthorblockA{
$^1$Lane Department of CS\&EE, West Virginia University, USA,\\
$^2$NICTA, Australia,\\
\url{adam.m.brady@gmail.com, tim@menzies.us, Jacky.Keung@nicta.com.au}}}
% There's nothing stopping you putting the seventh, eighth, etc.
% author on the opening page (as the 'third row') but we ask,
% for aesthetic reasons that you place these 'additional authors'
% in the \additional authors block, viz.
%\date{30 July 1999}
% Just remember to make sure that the TOTAL number of authors
% is the number that will appear on the first page PLUS the
% number that will appear in the \additionalauthors section.

\maketitle
\begin{abstract}

A major hurdle still faced by data mining practitioners involves translating complex theories into actionable
items for managers. As theories and methodology becomes more complex, business users must place more faith in
the theory assumptions rather than their own intuition. To combat this we present an extremely simple effort
reduction recommendation  system called ``W'' that maintains no underlying parametric model and produces simple,
concise theories complete with explanations. ``W'' does this by extending the effort estimation of case-based
reasoning with the explanation power of contrast sets. From these contrast sets we build new queries that constrain
the original effort estimates, demonstrating a reduction in both the median effort and variance
of historically-relevant projects. 

\end{abstract}


\begin{IEEEkeywords}
software economics; artificial intelligence
\end{IEEEkeywords}

\IEEEpeerreviewmaketitle


\section{Introduction}

\begin{quote}
"Don't tell me where I am, tell me where to go."
-A very busy user
\end{quote}

Machine learners purpose in life is to generate theories. However, all theories must eventually be read by humans.
Therefore, we should consider what kinds of theories people like to read.

If the reader is a busy person they might not need or even be able to use the nuance of a complex theory. Rather,
a busy person might instead just want to know what will bring the most benefit from the least effort. It follows
that machine learning for busy people should not strive for elaborate theories or increasing the expressive power
of the theory's language. Rather, a better goal might be to find the smallest theory with the most impact.


Previous exploration of minimal controllers in the context of AI search over monte-carlo analysis of software process models. A concern with that line of research is that the more elaborate our tech, the harder it is to validate the conclusion. In particular, reproducability is hard when it takes 2-6 months to rebuild experimental rig discussed in the previo us paper. Is there a simpler way to generate simple most-effective controllers for a software project? Another problem was the conclusions were dependent on the parametric model used. For example, our previous work was based on the USC COCOMO tools. The tools were built from mostly southern-caifornia DoD aerospace contractors and it is a valid criticism of those models that the external validity of those models is an open question.

Therefore, in order to simplify the reproducibility of our work and remove our dependency of possibly inappropriate models, this paper reports an experiment in learning controllers using case-based reasoning. We report a remarkably simple cbr algorithm called ``W'' that achieves all our goals. ``W'' generates recommendations that reduce both the median effort and the variance on the effort. The recommendations are very small in the case-studies shown here, they're usually one change to a project.

\section{Background}

\subsection{Model vs. Case-based Reasoning}

Current state of CBR (stops at nn)

No literature on planning/explaining

\subsection{Simple, Effective Theories}

Business case for simple theories

Are there a general theorys in SE?

\section{How ``W'' Decides}

Overview

\subsection{Finding Similarity}

Generating Samples (Query Q)

Project file constraints

KNN of samples

\subsection{Deciding Relevant Attributes}

Contrast Sets on generated

Nomograms / bsquared

Crash course in nomograms (titanic figure)

\subsection{Constraining}

Generating Q*i

Building disjunctions, conjunctions

\subsection{Evaluating}

Basic stopping rules (at least 3 examples, some improvement in median/spread)

Human-in-the-loop

\section{Execution}

Example project file (fig)

One run of ``W'' output (fig)

Evaluating

Results

\begin{figure}[!t]
\footnotesize
\begin{center}
\includegraphics[width=3in]{figures/reduce.pdf}

\begin{tabular}{|p{.46\linewidth}|p{.46\linewidth}|}
\multicolumn{2}{l}{Decisions made from round=1 to round=13: }\\\hline
round0: $r_x = \emptyset$\newline
round1 added \{pmat=3\}\newline
round2: added  \{resl=4\} \newline
round3: added   \{team=5\}\newline
round4: added \{aexp=4\} \newline
round5: added  \{docu=3\}\newline
round6: added  \{plex=4\}
&
round7: added \{rely=3\} \newline
round8: added  \{stor = 3\}\newline 
round9: added \{time = 3\}\newline
round10: added  \{tool = 4\}\newline
round11: added \{sced = 2\}\newline
round12: added \{site = 4\}\newline
round13: added  \{acap = 5\}
\\\hline
\end{tabular}
\end{center}
\caption{Example forward and back select results.}
\label{fig:run}
\end{figure}


\section{Analysis}

Small, Local Theories produce meaningful reductions in median effort and variance

"When we screw up one, we don't screw up the other"

\section{Discussion}

Variety of theories produced points to a lack of generality

Limitations of ``W''

Greater implications of locality/generality

"We don't think, we remember"

Limitations of ``W''

%ACKNOWLEDGMENTS are optional
%
% The following two commands are all you need in the
% initial runs of your .tex file to
% produce the bibliography for the citations in your paper.
\newpage
\bibliographystyle{IEEEtran}
{\small
\bibliography{refs}
}  % sigproc.bib is the name of the Bibliography in this case


% You must have a proper ".bib" file
%  and remember to run:
% latex bibtex latex latex
% to resolve all references
%
% ACM needs 'a single self-contained file'!
%
%APPENDICES are optional
%\balancecolumns
%\balancecolumns
% That's all folks!
\end{document}
