Skip to content
Conference Open access

Static Analysis Possibilities for Regular Expressions in C++

2026 · Proceedings of the 13th International Conference on Applied Informatics · pp. 96-106 · 0 citations · 39 references

TL;DR

This research measured 26 different popular open-source projects and found that in more than two-thirds of the time, constructors used hardcoded parameters, which opens the possibility for the creation of an effective static analysis tool.

Abstract

Most of the regular expression libraries in current programming languages utilize a dynamic constructor parameter to construct a state machine, which will be used later in the matching. When this constructor parameter does not fulfill the requirements of the correct regular expression syntax, a runtime error – usually an exception – occurs. It would be highly beneficial if we could catch this kind of problem at compile time with the help of static analysis. The prerequisite of such an analysis is that the constructor parameter is fully known at compile time. In this research, we investigate the extent to which this prerequisite holds true for open-source software projects. We measured 26 different popular open-source projects, and we found that in more than two-thirds of the time, constructors used hardcoded parameters. This result opens the possibility for the creation of an effective static analysis tool.

Read PDF

Similar papers

Preprint Sep 2026

Large Language Models and Language Server Protocol: a match made in context

This article introduces Eiffel-tools, a language server protocol (LSP) implementation for the Eiffel programming language that uses Large Language Models (LLMs) to aid the development of statically verified software. The tool provides various interactive and non-interactive commands to produce code and specifications....

Alessandro Schena, I. Mustafin, Julia Kotovich · 0 citations
Preprint Sep 2026

AST-Based Automated Elimination of break and continue Statements in Java Code

This work presents the development of an automatic refactoring tool for Java code built on top of the Eclipse JDT API. The proposed approach transforms control structures containing break and continue statements within different types of loops into semantically equivalent constructs that avoid their explicit use. To ac...

Andrés Juárez, J. Chicano, Rubén Saborido · 0 citations
Open access 2020

Impact of Dynamic Polymorphism on Quality of a System

Polymorphism has a great impact on the quality of a software .It is mainly of two types, compile time or static polymorphism based on method overloading and runtime or dynamic based on method overriding. If a class is highly polymorphic i.e. reusability of that class is high. If the class is less polymorphic then reusa...

Manju, Pradeep Kumar Bhatia · 0 citations

to Source Optimizations

V. Ramachandran, P. Van Hentenryck · 0 citations
Book Open access Aug 2026

An Incremental Approach to JIT Construction

This paper presents an incremental, classroom-scale approach to building a JIT compiler in manageable steps that successfully supports a Read-Eval-Print Loop and a first-call specialization mechanism.

Shaurya Raswan, Mark Barbone, Nicolás Lehmann et al. · 0 citations
Open access Sep 2026

State of the art in program analysis

Static and dynamic program analysis techniques have been studied for several decades to provide foundations for tools that discover software defects or that verify their adherence to semantic properties. Applying these techniques to real-world programs presents several challenges, such as scalability and precision. T...

Kihong Heo, L. Negrini · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.