this is a test2

\begin{document}
%
% paper title
\title{Exploiting Models in Software Engineering}
%
%
% author names and IEEE memberships
% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break
% a structure at a ~ so this keeps an author's name from being broken across
% two lines.
% use \thanks{} to gain access to the first footnote area
% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks
% was not built to handle multiple paragraphs
\author{James~Kiper,~\IEEEmembership{Member,~IEEE~Computer~Society,}
        Tim~Menzies,~\IEEEmembership{Member,~IEEE~Computer~Society,}
        and~Jeremy~ Greenwald,% <-this % stops a space
\thanks{}% <-this % stops a space
\thanks{Contact information: kiperjd@muohio.edu, timm@cs.pdx.edu, jegreen@cs.pdx.edu .}}
% note the % following the last \IEEEmembership and also the first \thanks - 
% these prevent an unwanted space from occurring between the last author name
% and the end of the author line. i.e., if you had this:
% 
% \author{....lastname \thanks{...} \thanks{...} }
%                     ^------------^------------^----Do not want these spaces!
%
% a space would be appended to the last name and could cause every name on that
% line to be shifted left slightly. This is one of those "LaTeX things". For
% instance, "A\textbf{} \textbf{}B" will typeset as "A B" not "AB". If you want
% "AB" then you have to do: "A\textbf{}\textbf{}B"
% \thanks is no different in this regard, so shield the last } of each \thanks
% that ends a line with a % and do not let a space in before the next \thanks.
% Spaces after \IEEEmembership other than the last one are OK (and needed) as
% you are supposed to have spaces between the names. For what it is worth,
% this is a minor point as most people would not even notice if the said evil
% space somehow managed to creep in.
%
% The paper headers
%\markboth{Journal of \LaTeX\ Class Files,~Vol.~1, No.~11,~November~2002}{Shell \MakeLowercase{\textit{et al.}}: Bare Demo of IEEEtran.cls for Journals}
% The only time the second header will appear is for the odd numbered pages
% after the title page when using the twoside option.
% 
% *** Note that you probably will NOT want to include the author's name in ***
% *** the headers of peer review papers.                                   ***

% If you want to put a publisher's ID mark on the page
% (can leave text blank if you just want to see how the
% text height on the first page will be reduced by IEEE)
%\pubid{0000--0000/00\$00.00~\copyright~2002 IEEE}

% use only for invited papers
%\specialpapernotice{(Invited Paper)}

% make the title area
\maketitle


\begin{abstract}
The use of models is a methodology that has proven its utility and effectiveness in many aspects of software engineering.  Models in requirements engineering allow software developers to explore trade spaces more effectively.  In software designs, software engineers have modeled static and dynamic structure of a system.  Modeling checking, as with, for example., Spin,  has greatly extended the ability of developers to verify various properties of software systems.

However, building a useful model can be intellectually difficult.  It often requires the cooperation of users, clients, and software engineers who speak various technical languages.  Creating and validating such a model is a time-consuming, albeit important, process.  Given the cost of model building, it is vital that each model be exploited as fully as possible.

In this paper, we illustrate how clear, succinct conclusions can be quickly extracted from a model by adopting a particular style of inference -- minimal contrast set learning.
\end{abstract}

\begin{keywords}
model-driven software engineering, contrast set learning
\end{keywords}
% Note that keywords are not normally used for peerreview papers.

% For peer review papers, you can put extra information on the cover
% page as needed:
% \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
%
% For peerreview papers, inserts a page break and creates the second title.
% Will be ignored for other modes.
\IEEEpeerreviewmaketitle



\section{Introduction}
% The very first letter is a 2 line initial drop letter followed
% by the rest of the first word in caps.
% 
% form to use if the first word consists of a single letter:
% \PARstart{A}{demo} file is ....
% 
% form to use if you need the single drop letter followed by
% normal text (unknown if ever used by IEEE):
% \PARstart{A}{}demo file is ....
% 
% Some journals put the first two words in caps:
% \PARstart{T}{his demo} file is ....
% 
% Here we have the typical use of a "T" for an initial drop letter
% and "HIS" in caps to complete the first word.
\PARstart{T}{he} current ubiquity of the term \emph{model-driven software engineering} is both a recognition that modeling has long been a central activity in software development, and an appreciation of the reality that we are not using these models as effectively as we may hope.  In this paper, we accept the thesis that models currently are used throughout the software development process -- from requirements and design to testing and performance evaluation -- and that the use of such models will only increase.  We also recognize that, even with tool support, creation of practical and functional models is a resource-intensive activity, especially in terms of human intelligence.  Effective use of models requires that they be allowed to evolve through the software development process.  Other researchers  have recognized that ``designers must be able to examine various design alternatives quickly and easily among myriad and diverse configuration possibilities." \cite{gray06}

Given these characteristics of models in software engineering, we assert that it is vital that we exploit this investment in model creation.  We exploit models through the use of a specific type of automated learning --- minimal contrast set learning -- and the recognition that many models are characterized by the property that most of their important behavior can be captured through a fairly small subset of their input parameters.  (This has been called a \emph{saturation effect.}  We will illustrate this property in a wide variety of application areas, and will demonstrate the efficacy of this style of learning through three cases studies.

In section two, we explore modeling in diverse areas of software engineering to demonstrate it ubiquity.  In section 3, we describe this saturation property of models and illustrate its presence in a variety of domains.  An explanation of contrast set learning, and our specific tool that implements this, is the subject of section 4.  In section 5, we describe the synergistic effect that we results from a combination of contrast set learning on models that demonstrate the saturation effect.  Our three case studies are then presented and explicated in section 6.


\section{Modeling in Software Engineering}
Software engineering is modeling.  \cite{schmidt06}  At each phase of the software life cycle, we produce artifacts that are, in fact, models.  To be explicit, by the term \emph{model}, we use the definition of Mellor, et al \cite{mellor03}:
 ``elements
describing something (for example, a
system, bank, phone, or train) built for some
purpose that is amenable to a particular form
of analysis, such as
\begin{itemize}
\item Communication of ideas between people
and machines
\item Completeness checking
\item  Race condition analysis
\item   Test case generation
\item Viability in terms of indicators such as
cost and estimation
\item Standards
\item Transformation into an implementation"
\end{itemize}

In his article ``What Models Mean" \cite{seidewitz03}, Seidewitz describes the interactions and relationships among the concepts of a model, model \emph{correctness}, model  \emph{interpretation}, a theory that allows us to deduce new statements for the model, a  \emph{modeling language}, and a model  \emph{interpretation}.  He asserts that ``a model's meaning has two aspects: the model's relationship to what's being modeled and to other models derviable from it.  Carefully considering both aspects can help us to understand how to use models to reason about the systems we build ..."  Other researchers, Sendall and Kozacaynski, point out that the objectives of increased productivity and reduced time-to-market for software products can accrue when ``using concepts closer to the problem domain ..." via modeling.  \cite{sendall03}
   
Model-driven software engineering is no longer a future goal, but is becoming an industry expectation.   This expectation permeates the software life cycle.  (This expectation for the efficacy of models at this time is due to the confluence of two evolutionary developments as pointed out by Selic \cite{selic03}: maturity of automation techniques and industry standards like UML \cite{booch99, uml04}.)  For example, at the architectural level, the Object Management Group (OMG) has recently adopted a \emph{model-driven architecture} framework with goals of ``potability, interoperability and reusability through architectural separation of concerns." \cite{omg03}  (See also \cite{frankel03}.)  Microsoft has been developing a \emph{Software Factory} concept that leverages models with the goal of automation of the software development process. \cite{greenfield04}
 
 At Lockheed Martin, engineers have developed an integrated approach to modeling that they call \emph{Model Centric Software Development}.  \cite{waddington03 }  This integrated approach uses ``automated generation of partial implementation artifacts", reverse engineering to integrate legacy assets, and model verification and checking.
 
 In a similar vein, Balasubramanian, et al, have developed a variant of model-driven engineering that they call \emph{Model-Integrated Computing} based on a domain-specific modeling language that ``simplifies and automates many activities associated with developing and deploying component-based systems."  \cite{bala06}  (Specifically, they have developed a tool suite for development of distributed embedded automotive systems.)  
 
 The importance of models and the model-driven approach is not limited to software design (e.g., the design of software architecture as in the OMG Model-Driven Architecture \cite{omg03, frankel03} ) where modeling  languages like UML have strength.  One can find models used in the requirements phase ( see the DDP method and tool \cite{feather03} which are a risk-based approach and visual tool to supporting requirements engineering), refactoring of designs using patterns \cite{france03}, software integration \cite{denno03}, model-based security \cite{jurjens06}, and performance assessment \cite{bals04}.
 
 Other researchers have recognized the need for support environments to help explore the increasingly complex models that engineers are developing.  Gray, at al, \cite{gray06} have developed the Constraint-Specification Aspect Weaver (C-Saw) that uses aspect-orientd approaches \cite{filman04} to help engineers in the process of model transformation.  Cai and Sullivan \cite{cai05} describe a formal method and tool called \emph{Simon} that ``supports interactive construction of formal models, derives and displays design structure matrices ... and supports simple design impact analysis."  \emph{Alloy} \cite{jackson02} is a ``lightweight" formal language for modeling of structural properties of software.
  
\subsection{Search-based Software Engineering}

\section{Model Complexity}
Illustrate with a DDP example.

\subsection{A Saturation Effect or Order out of Chaos}
A recurring theme from multiple sources is that, despite the complexity of many models (SE and others), there is often a surprising amount of "order" or "stability" that emerges.  In \cite{lewin92} Lewin attributes the following phrase to the Nobel-prize winning Physicist Murray Gell-Man: "Suface complexity arising from deep simplicity."   

Chaos "is based on two simple ideas -- the sensitivity of a system to its starting conditions and feedback." \cite{gribbin04}
Give checkers example
Give clusters examples from DDP


\subsection{Related Work: Saturation Elsewhere}

\section{Contrast Set Learning}
\subsection{Contrast Set Learning with Tar2}
\section{Combination of Saturation Effect and Contrast Set Learning}


\section{Case Studies}
\subsection{Case Study \#1 -- CMM2}
\subsection{Case Study \#2 -- COCOMO regression}
\subsection{Case Study \#3 -- Process model}


\section{Conclusion}
The conclusion goes here.



% use section* for acknowledgement
\section*{Acknowledgment}
% optional entry into table of contents (if used)
%\addcontentsline{toc}{section}{Acknowledgment}
The authors would like to thank...

% trigger a \newpage just before the given reference
% number - used to balance the columns on the last page
% adjust value as needed - may need to be readjusted if
% the document is modified later
%\IEEEtriggeratref{8}
% The "triggered" command can be changed if desired:
%\IEEEtriggercmd{\enlargethispage{-5in}}

% references section
% NOTE: BibTeX documentation can be easily obtained at:
% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/

% can use a bibliography generated by BibTeX as a .bbl file
% standard IEEE bibliography style from:
% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/bibtex
\bibliographystyle{../../../tex/tex/IEEEtran.bst}
% argument is your BibTeX string definitions and bibliography database(s)
%\bibliography{../../../tex/refs.bib}
\bibliography{../../../tex/miamiRefs}
%
% <OR> manually copy in the resultant .bbl file
% set second argument of \begin to the number of references
% (used to reserve space for the reference number labels box)
%\begin{thebibliography}{1}
%
%\bibitem{IEEEhowto:kopka}
%H.~Kopka and P.~W. Daly, \emph{A Guide to {\LaTeX}}, 3rd~ed.\hskip 1em plus
%  0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999.
%
%\end{thebibliography}
%
% biography section
% 
% If you have an EPS/PDF photo (graphicx package needed) extra braces are
% needed around the contents of the optional argument to biography to prevent
% the LaTeX parser from getting confused when it sees the complicated
% \includegraphics command within an optional argument. (You could create
% your own custom macro containing the \includegraphics command to make things
% simpler here.)
%\begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell}
% where an .eps filename suffix will be assumed under latex, and a .pdf suffix
% will be assumed for pdflatex; or if you just want to reserve a space for
% a photo:

\begin{biography}{James Kiper}
James Kiper is Associate Dean for Research and Graduate Studies in the School of Engineering and Applied Science, and Professor of Computer Science at Miami University where he has been for the past twenty years.  His research interest are in the area of software engineering...
\end{biography}

% if you will not have a photo at all:
\begin{biography}{Tim Menzies}
Tim Menzies is an Associate Professor in the Lane Department of Computer Science at West Virginia University.  He is also ...
\end{biography}

% insert where needed to balance the two columns on the last page
%\newpage

\begin{biographynophoto}{Jeremy Greenwald}
Jeremy Greenwald is a graduate student in the Department of Computer Science at Portland State University.
\end{biographynophoto}

% You can push biographies down or up by placing
% a \vfill before or after them. The appropriate
% use of \vfill depends on what kind of text is
% on the last page and whether or not the columns
% are being equalized.

%\vfill

% Can be used to pull up biographies so that the bottom of the last one
% is flush with the other column.
%\enlargethispage{-5in}

% that's all folks
\end{document}

fdsfdsfsdfds
dsfsdf
