Send email Copy Email Address
2023-05-01

Grammar-Based String Refinement Types

Summary

Programmers use strings to represent variates of data that contain internal structure or syntax. However, existing mainstream programming languages do not provide users with means to further narrow down the set of valid values for a string. An invalid string input may cause runtime errors or even severe security vulnerabilities. To address that, this paper presents a Ph.D. research proposal on the type checking of grammar- based string refinement types, a kind of fine-grained types for specifying the set of valid string values via grammar. The string refinement type system uses sub typing to capture the inclusion relation between the languages of grammars. Based on that, we follow a well-known bidirectional type checking framework to combine the checking and inference of string refinement types into one. Evaluations on real-world codebases will be conducted to measure the practicality of this approach.

Conference Paper

International Conference on Software Engineering - Companion (ICSE-Companion)

Date published

2023-05-01

Date last modified

2024-10-14