[comp.ai] AI for Software Engineering?

miller@sctc.com (Steven M. Miller) (02/07/90)

I'm currently taking a graduate seminar course where we're looking
into using AI techniques to aid in software engineering.

To aid in a research paper I am writing I am interested in the following:

A) researchers looking into the same sort of thing that I could interview
B) relevant papers, technical reports and thesis, etc.
C) your opinion on the usefulness of AI to Software Engineering

Thanks in advance,

SMMiller@SCTC.COM or smiller@cs.umn.edu

ntm1169@dsac.dla.mil (Mott Given) (02/08/90)

From article <1990Feb7.013940.7623@sctc.com>, by miller@sctc.com (Steven M. Miller):
> I'm currently taking a graduate seminar course where we're looking
> into using AI techniques to aid in software engineering.
  
  You may find some of the references below helpful:

----------------------------------------------------------------------------
NASA Conference Publication 3057, "Software Reuse Issues, Proceedings of a work-
shop help in Melbourne, Florida November 17-18, 1988.  Edited by Susan J. Voight
and Kathryn A. Smith. 
------------------------------------------------------------------------------
CMU/SEI-88-TR-13
Holibaugh, Perry
Phase I Testbed Description: Requirements and Selection Guidelines

The Application of Reusable Software Components Project has constructed a reuse
testbed  for  conducting   software   engineering   experiments   in   software
reusability.    The  hardware and system software of the testbed will provide a
distributed computing environment with file-server capability for  the  storage
of  reusable  components  and  other artifacts of the development process.  The
testbed will support  a  variety  of  domain-independent  and  domain-dependent
reusable  components.    The testbed will also support tools that foster reuse.
This document contains the requirements and selection criteria for the  testbed
hardware,  software, reusable resources, and an environment.  For each of these
four testbed resources, the requirements are grouped into five  areas:  support
of  experiments,  maximization  of experience and reusability, applicability to
problem domains, acceleration of technology transition, and advancing the state
of the practice in reuse.

-------------------------------------------------------------------------------

CMU/SEI-88-TR-22, ADA204399
Perry
Perspective on Software Reuse

This report presents a perspective on software reuse in the context of  "ideal"
software  development  capabilities.    Software  reuse is viewed as a means of
achievingMor  at  least  approximatingM  the  idea  capabilities.    A  generic
application  and  development  model  is proposed for unifying various types of
software reuse.  The model can be initially  formulated  as  a  project  family
architecture  and  produced  from  a  domain  features  analysis.  The approach
presented in  this  report  is  intended  to  lead  to  a  reuse  strategy  and
methodology for software development.

-------------------------------------------------------------------------------

   Cognitive issues in software reuse.
   Coelho, E.M.P.
   76 pp.,Jun 1985,Naval Postgraduate School,Monterey, CA,Pub. No: AD-A 159 386
   Vast resources  are  invested in the construction of software. Reuse of
software  offers  potential  savings  in  the  construction of new software
systems.  From  the perspective of cognitive science, current proposals for
software  reuse  are depicted. This thesis starts with a cognitive analysis of
programming  behavior (human thought process). The aspects of cognitive behavior
related to program comprehension, the notions of knowledge domain, knowledge
acquisition   and  reconstruction  and  memory  mechanisms  are discussed.  The
definition of software reusability is presented and methods to achieve reuse are
discussed. The software development model called DRACO is   presented   and  its
concepts  are  related  to  software  reuse  and reconstruction.

-------------------------------------------------------------------------------
Nagai Y. & Chikira H. & Kobayashi M. & Furukawa K.
Problems in Developing an Experimental System Able to Reuse Existing Programs
ICOT Research Center, Technical Memorandum TM-0059
April 1984

-- 
Mott Given @ Defense Logistics Agency Systems Automation Center,
             DSAC-TMP, Bldg. 27-1, P.O. Box 1605, Columbus, OH 43216-5002
INTERNET:  mgiven@dsac.dla.mil   UUCP: ...{osu-cis}!dsac!mgiven
Phone:  614-238-9431  AUTOVON: 850-9431   FAX: 614-238-3214 I speak for myself

baxter@ics.uci.edu (Ira Baxter) (02/08/90)

From article <1990Feb7.013940.7623@sctc.com>, by miller@sctc.com (Steven M. Miller):
> I'm currently taking a graduate seminar course where we're looking
> into using AI techniques to aid in software engineering.
  
I assembled the following references for a recent talk on
AI in software engineering. (bibtex format)

\documentstyle[12pt]{article}
\newcommand{\review}[1]{{\it Review:\/} \begin{small} #1 \end{small}}
   % used in \bibitems to hold arbitrary discussion text
\newcommand{\originalabstract}[1]{{\it Abstract:\/} \begin{small} #1 \end{small}}
   % used in \bibitems to hold arbitrary discussion text
\begin{document}

\title{A Selected Bibliography for\\Artificial Intelligence\\ in\\
Software Engineering}
\author{Ira D. Baxter\\
\\ Advanced
Software Engineering Project\\ University of California at
Irvine}
\maketitle
\newpage
\section{AI In SE Bibliography}

This bibliography contains references relevant to an overview of
how AI can be used for Software Engineering.  The author
has a bias towards transformational systems, and this bibliography
consequently reflects that bias.


\include{ai-for-se-refs}

\end{document}
-----------------------------------------------------------------------
[the file ai-for-se-refs.tex]
\begin{thebibliography}{}

\bibitem[Agresti86a]{Agresti86a}{``What are the New Paradigms?'',
William W. Agresti, in {\bf New Paradigms for Software Development},
William W. Agresti, ed., IEEE, 1986, ISBN 0-8186-0707-6.
\review{Briefly outlines Prototyping, Operational Specification and
Transformational Implementation as Software Development paradigms.
Very modern view of code maintenance in TI systems: modify development
and replay. Proposes that link exists between Rapid Prototyping,
Operational Specification, and TI: A Spec for TI must be operational,
and therefore acts as a rapid prototype. Nice article primarily
because of the tutorial volume that it is in.}}

\bibitem[Barr81a]{Barr81a}{{\bf The Handbook of Artificial
Intelligence}, A. Barr and E. Feigenbaum, eds., Willam Kaufmann, Los
Altos, CA 1981 ISBN 0-86576-005-5. \review{An excellent snapshot of
key ideas in AI and its state of development as of 1981.  Still highly relevant, especially for the nonspecialist.}

\bibitem[Baxter86a]{Baxter86a}{``TMM: Software Maintenance by
Transformation'', G. Arango, I. Baxter, P. Freeman, C. Pidgeon, IEEE
Software, Vol. 3, Number 3, May 1986, page 27-39. \review{Uses ideas
from transformational implementation to explain maintenance concepts,
and shows how to apply them a real problem.}}

\bibitem[Biermann84a]{Biermann84a}{{\bf Automatic Program Construction
Techniques}, A. Biermann, G. Guiho and Y. Kodratroff, eds., Macmillan,
1984. \review{Collection of articles on automatic programming.}}

\bibitem[Brachman85a]{Brachman85a}{``A Fundamental tradeoff in
knowledge representation and reasoning'', Ronald J. Brachman and
Hector J. Levesque, in {\bf Readings in Knowledge Representation},
Morgan Kaufmann Publishers, Inc., 1985. \review{Discusses interactions
of KR expressivity, the cost of drawing inferences, and the complexity
of the inference engine.}}

\bibitem[Meyer87a]{Meyer87a}{"Constructing Reusable, Reliable Software
Components using the Eiffel Language and Environment", Bertrand Meyer,
Proceedings on the National Conference on Software Reusability and
Portability, September, 19887. \review{Discusses an object-oriented
programming system and how it contributes towards making software
reusable.  An offshoot of the Smalltalk paradigm.}}

\bibitem[Lubars86a]{Lubars86a}{{\bf A Knowledge-based Design Aid for
the Construction of Software Systems}, Mitchell T. Lubars, PhD Thesis,
University of Illinois, Urbana-Champaign, Department of Computer
Science, 1986, Report No. UIUCDCS-R-86-1304, 202 p. \review{ On
constraint-directed transformation-by-refinement systems.}}

\bibitem[Mostow85b]{Mostow85b}{``Towards better models of the design
process'', J. Mostow, AI Magazine, Vol. 6 No. 1, Spring 1985, pp.
44-56.\review{Great paper.  Summarizes Mostow's personal view of the
results of the July 1984 ``Rutgers Workshop on Knowledge-Based Design
Aids: Models of the Design Process''.  Gives good, general insights
into the formal structures involved, and the roles that they play,
in a design process.}}

\bibitem[Neighbors84a]{Neighbors84a}{``The Draco Approach to
Constructing Software from Reusable Components'', James Neighbors,
IEEE Transactions on Software Engineering, Vol. SE-10, No. 5,
September 1984. \review{Discusses a method that uses domain-specific
notations for specifications, and transforms those specifications into
implementations.}}

\bibitem[Nilsson80a]{Nilsson80a}{{\bf Principles of Artificial
Intelligence}, Nils J. Nilsson, Tioga Publishing Company, Palo Alto,
1980. \review{Nice intro to AI.}}

\bibitem[Rich86a]{Rich86a}{{\bf Readings in Artificial Intelligence
and Software Engineering}, Charles Rich and Richard C. Waters, ed.,
Morgan Kaufmann Publishers, Inc., Los Altos, California, 1986.
\review{Extremely nice collection of papers on application of aspects
of AI to the problem of software engineering.}}

\bibitem[Scacchi86a]{Scacchi86a}{``{\bf Gist}: An Operational
Knowledge Specification Language'', Walt Scacchi, Draft Technical
Report, USC/Information Sciences Institute Institute, April 1986.
\review{Describes a wide spectrum specification language, to be used
as input to a transformational implmentation system.  See
\cite{Neighbors84a} for a contrasting method.}}

\bibitem[Smith86a]{Smith86a}{``Research on Knowledge-Based Software
Environments at Kestrel Institute'', D. R. Smith, G. B. Kotik and S.
J. Westfold, IEEE Transactions on Software Engineering, November 1985,
Volume SE-11, Number 11, pp. 1278-1295.\review{Overview of {\bf REFINE},
a commercial transformational implementation system.}}

\bibitem[Steinberg84a]{Steinberg84a}{``A Knowledge Based Approach to
VLSI CAD: The Redesign System'', Louis I. Steinberg and Tom M.
Mitchell, 21st Design Automation Conference, IEEE 1984, pp. 412-418.
\originalabstract{``...Given a desired change to the function of a circuit,
REDESIGN combines rule-based knowledge of design tactics with its
ability to analyze signal propagation through circuits in order to (1)
help the user focus on an appropriate portion of the circuit to
redesign, (2) suggest local redesign alternatives, and (3) determine
side effects of possible redesigns. ...''} \review{Shows a concrete
instance of system utilizing some of the ideas outlined by Mostow.
Talks in detail about how the system operates.}}

\bibitem[Steinberg87a]{Steinberg87a}{``Design as Refinement Plus
Constraint Propagation: The VEXED Experience'', L. Steinberg, in {\bf
AAAI-87 Sixth National Conference on Artificial Intelligence},
Seattle, 1987, pp. 830-835, or Technical Report AI/VLSI Project
Working Paper No. 51, Rutgers University Computer Science Department,
February, 1987.  \review{Gives details on a system which implements
hardware designs, although the ideas are applicable to software.
Helps make ideas from \cite{Mostow85b} concrete.}}

\bibitem[Tichy87a]{Tichy87a}{``What Can Software Engineers Learn from
Artificial Intelligence?'', Walter F. Tichy, submitted to IEEE
Computer, March 1987. \originalabstract{``This paper is a critical
assessment of AI programming tools by a non-AI scientist.  It explains
why frame-based representation languages, powerful graphical
interfaces, sophisticated LISP programming environments, and natural
language parsers not only result in higher programmer productivity,
but also extend our creative horizons for building novel software
systems.  PROLOG and production systems are also evaluated, but found
to be lacking in several respects.  The workstation dilemma is
identified as the major impediment to building distributed, multi-user
expert systems.}\review{Tichy is well know in SE research for his work
on module interconnection languages.  This is his view of the value of
AI.  Well written. Best quote: "For the moment, AI tools seem to
simplify programming because of their power, but complexity will soon
catch up."}} } % A

\bibitem[IEEETSE84]{IEEETSE84}{"Special Issue on Artificial
Intelligence and Software Engineering" IEEE Transactions on Software
Engineering, November, 1985, Volume SE-11, pp. 1253-1256.
\review{Nice set of papers on AI in SE.}}

\end{thebibliography}
--
Ira Baxter

robinson@santiam.uucp (Bill Robinson) (02/09/90)

IEEE Transactions on Software Engineering, November 1985, Vol
SE-11, No. 11.  is a special issue on AI and SE. It overviews a
variety of projects.

Bill Robinson
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Department of Computer Science, University of Oregon, Eugene, OR 97403-1202
domain: robinson@cs.uoregon.edu

hwajin@wrs.wrs.com (Hwa Jin Bae) (02/10/90)

In article <1990Feb7.013940.7623@sctc.com> miller@sctc.com (Steven M. Miller) writes:
>B) relevant papers, technical reports and thesis, etc.

There is a collection edited by Charles Rich and Richard Waters called 
_Readings In Artificial Intelligence and Software Engineering_ published by
Morgan Kaufmann Publishers, Inc.  This collection contains 34 papers 
convering: automatic programming, theorem-proving approaches, transformational
approaches, specification techniques, intelligent programming assistants (like
KBEmacs, etc.), knowledge representation, and others.

-- 
hwajin@wrs.com (uunet!wrs!hwajin)   "Omnibus ex nihil ducendis sufficit unum."
Hwa Jin Bae, Wind River Systems, 1351 Ocean Avenue, Emeryville, CA 94606, USA