The Hole Story: Type-Directed Synthesis and Repair
Licentiate thesis, 2022

Modern programs in languages like Haskell include a lot of information beyond what is strictly required for compilation, such as additional type information, unit tests and properties. This information is often used for post-compilation verification, by running the tests to verify that the code-as-written matches the specification provided by the types and properties. In this thesis, we explore ways of using this additional information to aid the developer during development. Firstly, we explore the integration of program synthesis into GHC compiler error messages using typed-hole suggestions to aid the completion of partial programs during development. Secondly, we present PropR, a tool based on type-driven synthesis aided by property-based testing and fault-localization in conjunction with genetic algorithms to automatically repair buggy programs, and evaluate its effectiveness. Finally, we present WRIT, a GHC plugin that allows developers to circumvent a too-restrictive type system in some cases in order to compile, run and test programs that are ill-typed but still executable, and explore its use in the context of information flow security for Haskell.

Types

Security

Program Repair

Compilers

Program Synthesis

EDIT CSE 8103
Opponent: Docent Nadia Polikarpova, University of California, USA

Author

Matthías Páll Gissurarson

Chalmers, Computer Science and Engineering (Chalmers), Information Security

Short Paper: Weak Runtime-Irrelevant Typing for Security

PLAS 2020 - Proceedings of the 15th Workshop on Programming Languages and Analysis for Security,; (2020)p. 13-17

Paper in proceeding

Suggesting valid hole fits for typed-holes (experience report)

Haskell 2018 - Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2018,; (2018)p. 179-185

Paper in proceeding

PropR: Property-Based Automatic Program Repair

Proceedings - International Conference on Software Engineering,; (2022)

Paper in proceeding

Areas of Advance

Information and Communication Technology

Subject Categories

Computer Science

Publisher

Chalmers

EDIT CSE 8103

Online

Opponent: Docent Nadia Polikarpova, University of California, USA

More information

Latest update

1/13/2022