A lightweight framework for regular expression verification

Xiao Liu, Yufei Jiang, Dinghao Wu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Regular expressions and finite state automata have been widely used in programs for pattern searching and string matching. Unfortunately, despite the popularity, regular expressions are difficult to understand and verify even for experienced programmers. Conventional testing techniques remain a challenge as large regular expressions are constantly used for security purposes such as input validation and network intrusion detection. In this paper, we present a lightweight verification framework for regular expressions. In this framework, instead of a large number of test cases, it takes in requirements in natural language descriptions to automatically synthesize formal specifications. By checking the equivalence between the synthesized specifications and target regular expressions, errors will be detected and counterexamples will be reported. We have built a web application prototype and demonstrated its usability with two case studies.

Original languageEnglish (US)
Title of host publicationProceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019
EditorsDongjin Yu, Vu Nguyen, Congfeng Jiang
PublisherIEEE Computer Society
Pages1-8
Number of pages8
ISBN (Electronic)9781538685402
DOIs
StatePublished - Mar 22 2019
Event19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019 - Hangzhou, China
Duration: Jan 3 2019Jan 5 2019

Publication series

NameProceedings of IEEE International Symposium on High Assurance Systems Engineering
Volume2019-January
ISSN (Print)1530-2059

Conference

Conference19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019
CountryChina
CityHangzhou
Period1/3/191/5/19

Fingerprint

Finite automata
Intrusion detection
Specifications
Testing
Formal specification

All Science Journal Classification (ASJC) codes

  • Software
  • Safety, Risk, Reliability and Quality

Cite this

Liu, X., Jiang, Y., & Wu, D. (2019). A lightweight framework for regular expression verification. In D. Yu, V. Nguyen, & C. Jiang (Eds.), Proceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019 (pp. 1-8). [8673038] (Proceedings of IEEE International Symposium on High Assurance Systems Engineering; Vol. 2019-January). IEEE Computer Society. https://doi.org/10.1109/HASE.2019.00011
Liu, Xiao ; Jiang, Yufei ; Wu, Dinghao. / A lightweight framework for regular expression verification. Proceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019. editor / Dongjin Yu ; Vu Nguyen ; Congfeng Jiang. IEEE Computer Society, 2019. pp. 1-8 (Proceedings of IEEE International Symposium on High Assurance Systems Engineering).
@inproceedings{285f96881eb94bf5b3eee72aa579e1ce,
title = "A lightweight framework for regular expression verification",
abstract = "Regular expressions and finite state automata have been widely used in programs for pattern searching and string matching. Unfortunately, despite the popularity, regular expressions are difficult to understand and verify even for experienced programmers. Conventional testing techniques remain a challenge as large regular expressions are constantly used for security purposes such as input validation and network intrusion detection. In this paper, we present a lightweight verification framework for regular expressions. In this framework, instead of a large number of test cases, it takes in requirements in natural language descriptions to automatically synthesize formal specifications. By checking the equivalence between the synthesized specifications and target regular expressions, errors will be detected and counterexamples will be reported. We have built a web application prototype and demonstrated its usability with two case studies.",
author = "Xiao Liu and Yufei Jiang and Dinghao Wu",
year = "2019",
month = "3",
day = "22",
doi = "10.1109/HASE.2019.00011",
language = "English (US)",
series = "Proceedings of IEEE International Symposium on High Assurance Systems Engineering",
publisher = "IEEE Computer Society",
pages = "1--8",
editor = "Dongjin Yu and Vu Nguyen and Congfeng Jiang",
booktitle = "Proceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019",
address = "United States",

}

Liu, X, Jiang, Y & Wu, D 2019, A lightweight framework for regular expression verification. in D Yu, V Nguyen & C Jiang (eds), Proceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019., 8673038, Proceedings of IEEE International Symposium on High Assurance Systems Engineering, vol. 2019-January, IEEE Computer Society, pp. 1-8, 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019, Hangzhou, China, 1/3/19. https://doi.org/10.1109/HASE.2019.00011

A lightweight framework for regular expression verification. / Liu, Xiao; Jiang, Yufei; Wu, Dinghao.

Proceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019. ed. / Dongjin Yu; Vu Nguyen; Congfeng Jiang. IEEE Computer Society, 2019. p. 1-8 8673038 (Proceedings of IEEE International Symposium on High Assurance Systems Engineering; Vol. 2019-January).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - A lightweight framework for regular expression verification

AU - Liu, Xiao

AU - Jiang, Yufei

AU - Wu, Dinghao

PY - 2019/3/22

Y1 - 2019/3/22

N2 - Regular expressions and finite state automata have been widely used in programs for pattern searching and string matching. Unfortunately, despite the popularity, regular expressions are difficult to understand and verify even for experienced programmers. Conventional testing techniques remain a challenge as large regular expressions are constantly used for security purposes such as input validation and network intrusion detection. In this paper, we present a lightweight verification framework for regular expressions. In this framework, instead of a large number of test cases, it takes in requirements in natural language descriptions to automatically synthesize formal specifications. By checking the equivalence between the synthesized specifications and target regular expressions, errors will be detected and counterexamples will be reported. We have built a web application prototype and demonstrated its usability with two case studies.

AB - Regular expressions and finite state automata have been widely used in programs for pattern searching and string matching. Unfortunately, despite the popularity, regular expressions are difficult to understand and verify even for experienced programmers. Conventional testing techniques remain a challenge as large regular expressions are constantly used for security purposes such as input validation and network intrusion detection. In this paper, we present a lightweight verification framework for regular expressions. In this framework, instead of a large number of test cases, it takes in requirements in natural language descriptions to automatically synthesize formal specifications. By checking the equivalence between the synthesized specifications and target regular expressions, errors will be detected and counterexamples will be reported. We have built a web application prototype and demonstrated its usability with two case studies.

UR - http://www.scopus.com/inward/record.url?scp=85064004332&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85064004332&partnerID=8YFLogxK

U2 - 10.1109/HASE.2019.00011

DO - 10.1109/HASE.2019.00011

M3 - Conference contribution

T3 - Proceedings of IEEE International Symposium on High Assurance Systems Engineering

SP - 1

EP - 8

BT - Proceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019

A2 - Yu, Dongjin

A2 - Nguyen, Vu

A2 - Jiang, Congfeng

PB - IEEE Computer Society

ER -

Liu X, Jiang Y, Wu D. A lightweight framework for regular expression verification. In Yu D, Nguyen V, Jiang C, editors, Proceedings - 19th IEEE International Symposium on High Assurance Systems Engineering, HASE 2019. IEEE Computer Society. 2019. p. 1-8. 8673038. (Proceedings of IEEE International Symposium on High Assurance Systems Engineering). https://doi.org/10.1109/HASE.2019.00011