\section{STAR: Improving Model States through Learning}


STAR uses a
{\em simulated annealer} (SA)
to sample the space of possible local tunings within
a model. 
A standard SA
offers constraints to all variables. STAR, on the other hand,
uses a Bayesian method to rank those constraints 
according to how
well they improve the current state based on a predefined goal.
Superfluous details can hence be deleted and the algorithm can return
a minimal set of model inputs 
that most improve the current state.

In our particular design, where use COCOMO  and COQUALMO models
to estimate effort, schedule and defects for a particular project,
STAR samples over the space
of possible project parameters, and incrementally constrain
them as they result in reduced effort, defects and schedule.
The process works as follows:
\begin{enumerate}
\item A project is described in terms of the COCOMO II and COQUALMO input
parameters.
\item For the inputs known for certain, no sampling is done and values
are used for the estimation.
\item For inputs where some information is available, STAR randomly samples over
the range of known potential values and the selected one is used for the estimation.
\item For inputs where no information is available, STAR samples over the
range of possible values and the selected one is used for the estimation.
\item After 100 Monte Carlo simulations of COCOMO and COQUALMO, STAR learns the values for 
each parameter that reduce effort, defects, and schedule the most, build ranges that 
further constrain the previous ranges.
\item Repeat steps 2 to 5 until input parameters are constrained to a single value or
until a stopping criteria is encountered.
\end{enumerate}

A visual representation of the process is presented in \fig{cycle}

\begin{figure}
\begin{center}
\includegraphics[width=2.5in]{cycle.png}
\end{center}
\caption{Cyclic learning}\label{fig:cycle}
\end{figure}


More detailed information about STAR, how to download and install it can be found in~\cite{me07f}.
