Proceedings of the 14th Workshop on Formal Techniques for Java-Like Programs 2012
DOI: 10.1145/2318202.2318207
|View full text |Cite
|
Sign up to set email alerts
|

A type system for regular expressions

Abstract: Regular expressions are used to match and extract text. It is easy for developers to make syntactic mistakes when writing regular expressions, because regular expressions are often complex and different across programming languages. Such errors result in exceptions at run time, and there is currently no static support for preventing them.This paper describes practical experience designing and using a type system for regular expressions. This type system validates regular expression syntax and capturing group u… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
24
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
3
3
2

Relationship

2
6

Authors

Journals

citations
Cited by 37 publications
(25 citation statements)
references
References 28 publications
0
24
0
Order By: Relevance
“…Qualifier systems have been developed in these frameworks for checking software properties such as null safety [8], [33], tainting [8], [33], format strings [35], [44], internationalization [33], regular expressions [36], UI threading [17], ownership [20], and immutability [21], [33], [40], [46].…”
Section: Type Qualifiersmentioning
confidence: 99%
“…Qualifier systems have been developed in these frameworks for checking software properties such as null safety [8], [33], tainting [8], [33], format strings [35], [44], internationalization [33], regular expressions [36], UI threading [17], ownership [20], and immutability [21], [33], [40], [46].…”
Section: Type Qualifiersmentioning
confidence: 99%
“…Previous work investigated static analysis for embedded DSLs like SQL queries [14,32] and regular expressions [30].…”
Section: Static Analysis Of Domain Specific Languagesmentioning
confidence: 99%
“…Therefore, several techniques and tools have been proposed for easing the design of regular expressions and for their validation and testing. For example, some approaches attempt to discover errors using static checking , others using visual debugging ; a different approach proposes to transform a regular expression in a more intelligible format that should allow the developer to understand whether the regular expression is what (s)he had in mind.…”
Section: Introductionmentioning
confidence: 99%
“…Moreover, the syntax checking that can be performed over a regular expression is rather limited, and most regular expressions are free of syntax errors: Therefore, it is not common to discover faults at parsing time. Several studies show that regular expressions are quite often faulty, ie, they do not exactly describe the intended language [5,6]: They could accept words that should not be accepted, or refuse words that should be accepted, or both.Therefore, several techniques and tools have been proposed for easing the design of regular expressions and for their validation and testing. For example, some approaches attempt to discover errors using static checking [5], others using visual debugging [7]; a different approach [8] proposes to transform a regular expression in a more intelligible format that should allow the developer to understand whether the regular expression is what (s)he had in mind.However, most of the approaches are based on the use of labelled strings, ie, strings with their evaluation, either accepted or rejected [6,[9][10][11][12].Labelled strings are exploited in 2 ways.…”
mentioning
confidence: 99%