English
Related papers

Related papers: Pushdown Abstractions of JavaScript

200 papers

In the realm of sound object-oriented program analyses for information-flow control, very few approaches adopt flow-sensitive abstractions of the heap that enable a precise modeling of implicit flows. To tackle this challenge, we advance a…

Programming Languages · Computer Science 2022-11-08 Nicolas Berthier , Narges Khakpour

There is an apparent similarity between the descriptions of small-step operational semantics of imperative programs and the semantics of finite automata, so defining an abstraction mapping from semantics to automata and proving a simulation…

Programming Languages · Computer Science 2014-09-30 Nadezhda Baklanova , Wilmer Ricciotti , Jan-Georg Smaus , Martin Strecker

We present a semantics based framework for analysing the quantitative behaviour of programs with regard to resource usage. We start from an operational semantics equipped with costs. The dioid structure of the set of costs allows for…

Logic in Computer Science · Computer Science 2010-06-29 David Cachera , Arnaud Jobin

The development of a real-time web application often starts with a feature-driven approach allowing to quickly react to users feedbacks. However, this approach poorly scales in performance. Yet, the user-base can increase by an order of…

Programming Languages · Computer Science 2015-12-23 Etienne Brodu , Stéphane Frénot , Frédéric Oblé

We develop a framework for computing two foundational analyses for concurrent higher-order programs: (control-)flow analysis (CFA) and may-happen-in-parallel analysis (MHP). We pay special attention to the unique challenges posed by the…

Programming Languages · Computer Science 2011-06-15 Matthew Might , David Van Horn

Automatic data abstraction is an important capability for both benchmarking machine intelligence and supporting summarization applications. In the former one asks whether a machine can `understand' enough about the meaning of input data to…

Computer Vision and Pattern Recognition · Computer Science 2019-08-09 Umar Riaz Muhammad , Yongxin Yang , Timothy M. Hospedales , Tao Xiang , Yi-Zhe Song

Analyzing the behavior of a program running on a processor that supports speculative execution is crucial for applications such as execution time estimation and side channel detection. Unfortunately, existing static analysis techniques…

Programming Languages · Computer Science 2019-08-16 Meng Wu , Chao Wang

Escape analysis of object-oriented languages approximates the set of objects which do not escape from a given context. If we take a method as context, the non-escaping objects can be allocated on its activation stack; if we take a thread,…

Programming Languages · Computer Science 2007-05-23 Patricia M. Hill , Fausto Spoto

Recent analysis of classical algorithms resulted in their axiomatization as transition systems satisfying some simple postulates, and in the formulation of the Abstract State Machine Theorem, which assures us that any classical algorithm…

Logic in Computer Science · Computer Science 2024-10-15 Andreas Blass , Nachum Dershowitz , Yuri Gurevich

We present a new abstract interpretation framework for the precise over-approximation of numerical fixpoint iterators. Our key observation is that unlike in standard abstract interpretation (AI), typically used to over-approximate all…

Machine Learning · Computer Science 2023-04-27 Mark Niklas Müller , Marc Fischer , Robin Staab , Martin Vechev

Abstraction (in its various forms) is a powerful established technique in model-checking; still, when unbounded data-structures are concerned, it cannot always cope with divergence phenomena in a satisfactory way. Acceleration is an…

Logic in Computer Science · Computer Science 2013-10-04 Francesco Alberti , Silvio Ghilardi , Natasha Sharygina

We present and evaluate a technique for computing path-sensitive interference conditions during abstract interpretation of concurrent programs. In lieu of fixed point computation, we use prime event structures to compactly represent causal…

Programming Languages · Computer Science 2017-05-02 Marcelo Sousa , César Rodríguez , Vijay D'Silva , Daniel Kroening

Developing suitable formal semantics can be of great help in the understanding, design and implementation of a programming language, and act as a guide for software development tools like analyzers or partial evaluators. In this sense, full…

Logic in Computer Science · Computer Science 2010-02-16 F. J. López-Fraguas , J. Rodríguez-Hortalá

Monotone frameworks is one of the most successful frameworks for intraprocedural data flow analysis extending the traditional class of bitvector frameworks (like live variables and available expressions). Weighted pushdown systems is…

Programming Languages · Computer Science 2013-07-18 Michal Terepeta , Hanne Riis Nielson , Flemming Nielson

The Transformer architecture has emerged as a landmark advancement within the broad field of artificial intelligence, effectively catalyzing the advent of large language models (LLMs). However, despite its remarkable capabilities and the…

Software Engineering · Computer Science 2025-08-05 Kechi Zhang , Ge Li , Jia Li , Huangzhao Zhang , Yihong Dong , Jia Li , Jingjing Xu , Zhi Jin

In programming languages with dynamic use of memory, such as Java, knowing that a reference variable x points to an acyclic data structure is valuable for the analysis of termination and resource usage (e.g., execution time or memory…

Programming Languages · Computer Science 2013-02-14 Samir Genaim , Damiano Zanardini

We define new abstract machines for game semantics which correspond to networks of conventional computers, and can be used as an intermediate representation for compilation targeting distributed systems. This is achieved in two steps. First…

Logic in Computer Science · Computer Science 2013-04-16 Olle Fredriksson , Dan R. Ghica

Abstract machines for the strong evaluation of lambda-terms (that is, under abstractions) are a mostly neglected topic, despite their use in the implementation of proof assistants and higher-order logic programming languages. This paper…

Programming Languages · Computer Science 2016-03-18 Beniamino Accattoli , Pablo Barenbaum , Damiano Mazza

To manage exceptions, software relies on a key architectural guarantee, precision: that exceptions appear to execute between instructions. However, this definition, dating back over 60 years, fundamentally assumes a sequential programmers…

Hardware Architecture · Computer Science 2024-12-20 Ben Simner , Alasdair Armstrong , Thomas Bauereiss , Brian Campbell , Ohad Kammar , Jean Pichon-Pharabod , and Peter Sewell

The design and implementation of precise static analyzers for significant fragments of modern imperative languages like C, C++, Java and Python is a challenging problem. In this paper, we consider a core imperative language that has several…

Programming Languages · Computer Science 2007-06-28 Roberto Bagnara , Patricia M. Hill , Andrea Pescetti , Enea Zaffanella