Download:
|
by Muhammad Afzal, Upal Srinivas Padmanabhuni
http://www.cs.ualberta.ca/~upal/se/1.ps
Add To MetaCart
Abstract:
Automated software engineering has long been a goal of artificial intelligence. There has been slow but steady progress towards understanding the processes underlying program synthesis and modification. One significant observation that came out of Richards and Waters [15] Software Apprentice Project was that programmers repeatedly use certain program constructs or cliches to solve a variety of programming tasks. Richards developed Plan Description Language (PDL) to capture the association between various code fragments and the functional goals that they serve. Another development has been the understanding of the relationship between physical devices and programs. This understanding asserts that causal theories (such as Functional Representation [17]) developed for reasoning with physical systems can be applied to reason with programs. This observation led to the development of debugging and program understanding tools [2]. Here, we outline a framework for functional representation of programs which also allows us to automatically learn new programming constructs and to refine existing programs so as to achieve a more functionally complete program. 1
Citations
|
1977
|
Artificial Intelligence: A Modern Approach
– Russell, Norvig
- 2003
|
|
498
|
Inverser Entailment and Progol
– Muggleton
- 1995
|
|
130
|
Object oriented software construction
– Meyer
- 1997
|
|
116
|
The Programmer’s Apprentice
– Rich, Wales
- 1990
|
|
62
|
Interactive Theory Revision: An Inductive Logic Programming Approach
– Raedt
- 1992
|
|
55
|
A note on inductive generalisation
– Plotkin
- 1969
|
|
41
|
Program Construction and Verification
– Backhouse
- 1986
|
|
40
|
Learning by experimentation: Incremental refinement of incomplete planning domains
– Gil
- 1994
|
|
35
|
Muggleton and Luc De Raedt. Inductive logic programming: Theory and methods
– Stephen
- 1994
|
|
33
|
Combining FOIL and EBG to speedup Logic Programs
– Mooney, Zelle
- 1993
|
|
22
|
Theory revision
– Ade, Raedt, et al.
- 1993
|
|
20
|
Understanding Programs as Devices
– Allemang
- 1990
|
|
10
|
Redesigning a problem-solver's operators to improve solution quality
– Stroulia, Goel
- 1997
|
|
8
|
A Formal Model of Software Subsystems
– Edwards
- 1995
|
|
2
|
Plans in software engineering: an overview
– Hartman
- 1995
|
|
1
|
Using explanationbased learning to acquire progams by analyzing examples
– Maclin, Shavlik
- 1989
|
|
1
|
Survey and assessment of conventional software verification and validation methods
– Miller, Groundwater, et al.
- 1993
|
|
1
|
Inductive logic programming: Inverse resolution and beyond
– Muggleton
- 1995
|
|
1
|
Reasoning, chapter Functional Representation of Devices and Compilation of Diagnostic Problem-Solving Systems, pages 47--73. Lawrence Erlbaum Associates
– Experience
- 1986
|