Learning to Program by Examining and Modifying Cases

Abstract

This paper describes a system called TA, which learns how to program by maintaining a case base of previously encountered programs and modifying those cases in attempts to solve new programming problems. TA uses three case bases: one for programs, one for patches to code, and one for bugs that have been encountered in previous programming sessions. As TA writes correct programs, they are added to the program case base. If bugs are encountered in the process of arriving at a correct program, these (and the patches that TA uses to fix the buggy code) are added to the appropriate case bases. Thus, as TA writes more programs, its skill at finding similar programs increases, as does its ability to find and fix bugs.

Cite

Text

Williams. "Learning to Program by Examining and Modifying Cases." International Conference on Machine Learning, 1988. doi:10.1016/B978-0-934613-64-4.50038-4

Markdown

[Williams. "Learning to Program by Examining and Modifying Cases." International Conference on Machine Learning, 1988.](https://mlanthology.org/icml/1988/williams1988icml-learning/) doi:10.1016/B978-0-934613-64-4.50038-4

BibTeX

@inproceedings{williams1988icml-learning,
  title     = {{Learning to Program by Examining and Modifying Cases}},
  author    = {Williams, Robert S.},
  booktitle = {International Conference on Machine Learning},
  year      = {1988},
  pages     = {318-324},
  doi       = {10.1016/B978-0-934613-64-4.50038-4},
  url       = {https://mlanthology.org/icml/1988/williams1988icml-learning/}
}