Improved normalization for Ask-Elle through semantics-preserving transformations

Publication date

DOI

Document Type

Master Thesis

Collections

Open Access logo

License

CC-BY-NC-ND

Abstract

Ask-Elle is a tutor for learning the Haskell programming language. It supports development of Haskell programs by providing stepwise hints and verifying the correctness of the resulting programs. Ask- Elle can do this based only on a model solution, which minimizes the work to set up exercises. The main contribution of our work is improving Ask-Elle’s normalization mechanism, used to compare two programs for equivalence. Normalization is at the core of Ask- Elle’s ability to provide hints and verify the correctness of programs. Based on a dataset of student programs, we (1) identify cases in which Ask-Elle’s normalization does not work as expected, (2) imple- ment semantics-preserving transformations that alleviate the prob- lems and (3) measure the improvements. The results are very pos- itive, as we achieve substantial improvements without resorting to advanced analysis techniques.

Keywords

Citation