Experiment in Knowledge Based Programing

The paper investigates possibilities of writing programs with having the relevant knowledge on programing available in explicity form, in order to perform experiments, a knowledge base was built which codes some of the knowledge related to the problem of selecting a proper data type in the process of program formation. The base is presented in paper along with one experiment which also shows the system performance and user-system interaction. The experiment setting is such that the user makes a guess which data type is appropriate to use and this hypothesis is either confirmed or rejected by the system. Moreover, as a result of the system's deductive reasoning other acceptable data types are proposed by the system. The result shows that the system is able to provide an advice to a programer. This can be particularly useful in the process of learning programing.

[1]  John R. Anderson,et al.  Learning to Program in LISP , 1984, Cogn. Sci..

[2]  Douglas White A knowledge-based approach to software development , 1995 .

[3]  John R. Anderson,et al.  The automated tutoring of introductory computer programming , 1986, CACM.

[4]  Ludovit Molnár,et al.  Using automatic program synthesizer to generate solutions of problems from diverse problem environments , 1988 .

[5]  John R. Anderson,et al.  Learning to Program in LISP , 1984, Cogn. Sci..

[6]  Tom Boyle,et al.  The CORE guided discovery approach to acquiring programming skills , 1992 .

[7]  Stephen Fickas,et al.  Knowledge Representation and Reasoning in the Design of Composite Systems , 1992, IEEE Trans. Software Eng..

[8]  Rob A. Rutenbar,et al.  Knowledge Representation and Reasoning in a Software Synthesis Architecture , 1992, IEEE Trans. Software Eng..

[9]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[10]  Elliot Soloway,et al.  PROUST: An automatic debugger for Pascal programs , 1985 .

[11]  Mary E. Webb Learning by building rule-based models , 1992 .

[12]  Władysław Turski,et al.  The specification of computer programs , 1987 .

[13]  David R. Barstow,et al.  On Program Synthesis Knowledge , 1978, Artif. Intell..

[14]  Gail E. Kaiser,et al.  An architecture for intelligent assistance in software development , 1987, ICSE '87.

[15]  Viera Rozinajová,et al.  Making programming knowledge explicit , 1993 .

[16]  Yishai A. Feldman,et al.  Seven Layers of Knowledge Representation and Reasoning in Support of Software Development , 1992, IEEE Trans. Software Eng..

[17]  P. Návrat Towards a master programmer: A paradigm for automated tutoring of programming , 1987 .

[18]  Subrata Dasgupta,et al.  The Structure of Design Processes , 1989, Adv. Comput..

[19]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[20]  Douglas R. Smith,et al.  KIDS: A Semiautomatic Program Development System , 1990, IEEE Trans. Software Eng..

[21]  Pavol Návrat,et al.  Using Automatic Program Synthesizer as a Problem Solver: Some Interesting Experiments , 1987, EUROCAL.