English
Related papers

Related papers: Compositional Verification of Compiler Optimisatio…

200 papers

Software verification is a complex problem, and verification tools need significant tuning to achieve high performance. Due to this, many verifiers choose to specialize on reachability properties, or invest the time to implement known…

Programming Languages · Computer Science 2025-01-28 Dirk Beyer , Marek Jankola , Marian Lingsch-Rosenfeld , Tian Xia , Xiyue Zheng

Devirtualization is a compiler optimization that replaces indirect (virtual) function calls with direct calls. It is particularly effective in object-oriented languages, such as Java or C++, in which virtual methods are typically abundant.…

Programming Languages · Computer Science 2020-03-10 Piotr Padlewski , Krzysztof Pszeniczny , Richard Smith

The verification of reductions, representative subsets of interleavings, simplifies correctness proofs of parameterized concurrent programs. We introduce an expressive class of syntactic reductions, which we call natural reductions. Natural…

Programming Languages · Computer Science 2026-05-14 Constantin Enea , Azadeh Farzan , Dominik Klumpp

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

Typical constraints on embedded systems include code size limits, upper bounds on energy consumption and hard or soft deadlines. To meet these requirements, it may be necessary to improve the software by applying various kinds of…

Performance · Computer Science 2010-11-30 Hugues Cassé , Karine Heydemann , Haluk Ozaktas , Jonathan Ponroy , Christine Rochange , Olivier Zendra

Traditionally, semantic models of imperative languages use an auxiliary structure which mimics memory. In this way, ownership and other encapsulation properties need to be reconstructed from the graph structure of such global memory. We…

Programming Languages · Computer Science 2019-04-24 Paola Giannini , Marco Servetto , Elena Zucca

It is common to prove by reasoning over source code that programs do not leak sensitive data. But doing so leaves a gap between reasoning and reality that can only be filled by accounting for the behaviour of the compiler. This task is…

Logic in Computer Science · Computer Science 2020-10-23 Robert Sison , Toby Murray

Commutativity of data structure methods is of ongoing interest, with roots in the database community. In recent years commutativity has been shown to be a key ingredient to enabling multicore concurrency in contexts such as parallelizing…

Programming Languages · Computer Science 2020-04-21 Eric Koskinen , Kshitij Bansal

Context: Container orchestration tools supporting infrastructure-as-code allow new forms of collaboration between developers and operatives. Still, their text-based nature permits naive mistakes and is more difficult to read as complexity…

Software Engineering · Computer Science 2022-07-20 Bruno Piedade , João Pedro Dias , Filipe F. Correia

Finding bugs is key to the correctness of compilers in wide use today. If the behaviour of a compiled program, as allowed by its architecture memory model, is not a behaviour of the source program under its source model, then there is a…

Programming Languages · Computer Science 2024-01-31 Luke Geeson , Lee Smith

Large language models (LLMs) have demonstrated significant potential in formal theorem proving, yet state-of-the-art performance often necessitates prohibitive test-time compute via massive roll-outs or extended context windows. In this…

Machine Learning · Computer Science 2026-04-22 Guchan Li , Rui Tian , Hongning Wang

Template metaprogramming is a popular technique for implementing compile time mechanisms for numerical computing. We demonstrate how expression templates can be used for compile time symbolic differentiation of algebraic expressions in C++…

Symbolic Computation · Computer Science 2017-05-05 Drosos Kourounis , Leonidas Gergidis , Michael Saunders , Andrea Walther , Olaf Schenk

We present a novel and well automatable approach to formal verification of programs with underspecified semantics, i.e., a language semantics that leaves open the order of certain evaluations. First, we reduce this problem to…

Programming Languages · Computer Science 2022-02-14 Eduard Kamburjan , Nathan Wasser

On a system that exposes disjoint memory spaces to the software, a program has to address memory consistency issues and perform data transfers so that it always accesses valid data. Several approaches exist to ensure the consistency of the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-10-25 Ludovic Henrio , Christoph Kessler , Lu Li

Writing accurate numerical software is hard because of many sources of unavoidable uncertainties, including finite numerical precision of implementations. We present a programming model where the user writes a program in a real-valued…

Programming Languages · Computer Science 2013-09-11 Eva Darulova , Viktor Kuncak

Composition technologies improve reuse in the development of large-scale complex systems. Safety critical systems require intensive validation and verification activities. These activities should be compositional in order to reduce the…

Software Engineering · Computer Science 2014-04-04 Mounira Kezadri Hamiaz , Marc Pantel , Benoît Combemale , Xavier Thirioux

The key to performance optimization of a program is to decide correctly when a certain transformation should be applied by a compiler. This is an ideal opportunity to apply machine-learning models to speed up the tuning process; while this…

We propose a categorical framework for linear-time temporal verification of effectful higher-order programs, including probabilistic higher-order programs. Our framework provides a generic denotational reduction -- namely, a denotational…

Logic in Computer Science · Computer Science 2025-10-20 Kazuki Watanabe , Mayuko Kori , Taro Sekiyama , Satoshi Kura , Hiroshi Unno

LECTURE GIVEN AT TH2002. Given a set of Boolean variables, and some constraints between them, is it possible to find a configuration of the variables which satisfies all constraints? This problem, which is at the heart of combinatorial…

Disordered Systems and Neural Networks · Physics 2009-11-07 Marc Mezard

Commutativity has proven to be a powerful tool in reasoning about concurrent programs. Recent work has shown that a commutativity-based reduction of a program may admit simpler proofs than the program itself. The framework of…

Programming Languages · Computer Science 2023-11-07 Azadeh Farzan , Dominik Klumpp , Andreas Podelski