English
Related papers

Related papers: Expression-based aliasing for OO-languages

200 papers

Static analyses overwhelmingly trade precision for soundness and automation. For this reason, their use-cases are restricted to situations where imprecision isn't prohibitive. In this paper, we propose and specify a static analysis that…

Programming Languages · Computer Science 2026-02-10 Abdullah H. Rasheed

We introduce linear programs encoding regular expressions of finite languages. We show that, given a language, the optimum value of the associated linear program is a lower bound on the size of any regular expression of the language.…

Formal Languages and Automata Theory · Computer Science 2017-12-08 Hamoon Mousavi

A vector addition system (VAS) with an initial and a final marking and transition labels induces a language. In part because the reachability problem in VAS remains far from being well-understood, it is difficult to devise decision…

Formal Languages and Automata Theory · Computer Science 2018-02-20 Wojciech Czerwiński , Piotr Hofman , Georg Zetzsche

Static analysis is the analysis of a program without executing it, usually carried out by an automated tool. Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software. It works…

Software Engineering · Computer Science 2024-08-06 Gabor Horvath , Reka Kovacs , Zoltan Porkolab

A demand-driven approach to program analysis have been viewed as efficient algorithms to compute only the information required to serve a target demand. In contrast, an exhaustive approach computes all information in anticipation of it…

Programming Languages · Computer Science 2018-02-06 Swati Jaiswal , Uday P. Khedker , Supratik Chakraborty

We propose a type-based resource usage analysis for the π-calculus extended with resource creation/access primitives. The goal of the resource usage analysis is to statically check that a program accesses resources such as files and…

Programming Languages · Computer Science 2017-01-11 Naoki Kobayashi , Kohei Suenaga , Lucian Wischik

We consider the problem of synthesizing provably non-overflowing integer arithmetic expressions or Boolean relations among integer arithmetic expressions. First we use a numerical abstract domain to infer numerical properties among program…

Programming Languages · Computer Science 2013-09-23 Francesco Logozzo , Matthieu Martel

In runtime verification, pattern matching, which searches for occurrences of a specific pattern within a word, provides more information than a simple violation detection of the monitored property, by locating concrete evidence of the…

Formal Languages and Automata Theory · Computer Science 2025-07-17 Masaki Waga , Étienne André

A recent trend in object oriented (OO) programming languages is the use of Access Permissions (APs) as an abstraction for controlling concurrent executions of programs. The use of AP source code annotations defines a protocol specifying how…

Logic in Computer Science · Computer Science 2018-02-14 Carlos Olarte , Elaine Pimentel , Camilo Rueda

Many programming languages and tools, ranging from grep to the Java String library, contain regular expression matchers. Rather than first translating a regular expression into a deterministic finite automaton, such implementations…

Logic in Computer Science · Computer Science 2011-08-17 Asiri Rathnayake , Hayo Thielecke

Data refinement is the standard extension of a refinement relation from programs to datatypes (i.e. a behavioural subtyping relation). Forward/backward simulations provide a tractable method for establishing data refinement, and have been…

Logic in Computer Science · Computer Science 2025-11-27 Chris Chen , Annabelle McIver , Carroll Morgan

The strength of a dynamic language is also its weakness: run-time flexibility comes at the cost of compile-time predictability. Many of the hallmarks of dynamic languages such as closures, continuations, various forms of reflection, and a…

Programming Languages · Computer Science 2014-08-18 J. Ian Johnson , David Van Horn

In this paper we introduce a Conditional Answer Set Programming framework (Conditional ASP) for the definition of conditional extensions of Answer Set Programming (ASP). The approach builds on a conditional logic with typicality, and on the…

Artificial Intelligence · Computer Science 2026-01-08 Mario Alviano , Laura Giordano , Daniele Theseider Dupré

We develop a static complexity analysis for a higher-order functional language with structural list recursion. The complexity of an expression is a pair consisting of a cost and a potential. The former is defined to be the size of the…

Programming Languages · Computer Science 2013-05-29 N. Danner , J. Paykin , J. S. Royer

This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the…

Programming Languages · Computer Science 2017-04-17 Laura Kovacs

Constraint Answer Set Programming (CASP) is a hybrid paradigm that enriches Answer Set Programming (ASP) with numerical constraint processing, a crucial requirement for many real-world applications. However, the specification of constraints…

Artificial Intelligence · Computer Science 2026-05-26 Jorge Fandinno , Pedro Cabalar , Philipp Wanko , Torsten Schaub

Software artifacts are ubiquitous in our lives being an essential part of home appliances, cars, cel phones, and even in more critical activities like aeronautics and health sciences. In this context software failures may produce enormous…

Software Engineering · Computer Science 2022-06-16 Carlos Gustavo Lopez Pombo , Agustín Eloy Martinez Suñé

Static program analysis is a valuable tool for any programming language that people write programs in. The prevalence of scripting languages in the world suggests programming language interpreters are relatively easy to write. Users of…

Programming Languages · Computer Science 2015-05-01 James Ian Johnson

Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear to) execute instructions in an order different to that specified by the program text. The consequences of instruction reordering can be…

Programming Languages · Computer Science 2018-12-04 Robert J. Colvin , Graeme Smith

Alternating automata have been widely used to model and verify systems that handle data from finite domains, such as communication protocols or hardware. The main advantage of the alternating model of computation is that complementation is…

Formal Languages and Automata Theory · Computer Science 2017-08-17 Radu Iosif , Xiao Xu