Contract Inferencing for Functional Programs
MetadataShow full item record
Ask-Elle is a programming tutor that allows students to learn Haskell at their own pace, without a teacher’s direct supervision. To enable this, the tutor requires model solutions to be specified up front by a teacher, after which the tutor is able to guide the student towards one of these solutions. However, should the student deviate from the model solutions too much, the tutor can no longer give assistance. In an attempt to still provide the student with feedback once that happens, we propose using both QuickCheck and contracts to locate potential bugs in the student’s program. Since we, in general, do not know anything about the structure of a student’s solution, we propose and implement a method for inferring contracts for the student’s program.