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.
History
Primary Research Area
Threat Detection and Defenses
Name of Conference
International Conference on Software Engineering (ICSE)
Journal
2023 IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
Page Range
267-269
Publisher
Institute of Electrical and Electronics Engineers (IEEE)
Open Access Type
Not Open Access
BibTeX
@conference{Zhu:2023,
title = "Grammar-Based String Refinement Types",
author = "Zhu, Fengmin",
year = 2023,
month = 5,
journal = "2023 IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)",
pages = "267--269",
publisher = "Institute of Electrical and Electronics Engineers (IEEE)",
doi = "10.1109/icse-companion58688.2023.00072"
}