English
Related papers

Related papers: Perfrewrite -- Program Complexity Analysis via Sou…

200 papers

Software developers often rely on natural language text that appears in software engineering artifacts to access critical information as they build and work on software systems. For example, developers access requirements documents to…

Software Engineering · Computer Science 2021-05-14 Arthur Marques , Giovanni Viviani , Gail C. Murphy

We study machine learning formulations of inductive program synthesis; that is, given input-output examples, synthesize source code that maps inputs to corresponding outputs. Our key contribution is TerpreT, a domain-specific language for…

Machine Learning · Computer Science 2016-12-05 Alexander L. Gaunt , Marc Brockschmidt , Rishabh Singh , Nate Kushman , Pushmeet Kohli , Jonathan Taylor , Daniel Tarlow

Abstraction is a fundamental tool for reasoning about complex systems. Program abstraction has been utilized to great effect for analyzing deterministic programs. At the heart of program abstraction is the relationship between a concrete…

Artificial Intelligence · Computer Science 2017-07-17 Steven Holtzen , Todd Millstein , Guy Van den Broeck

We are concerned with the average case runtime complexity analysis of a prototypical imperative language endowed with primitives for sampling and probabilistic choice. Taking inspiration from known approaches from to the modular resource…

Programming Languages · Computer Science 2019-08-30 Martin Avanzini , Michael Schaper , Georg Moser

Catching and attributing code change-induced performance regressions in production is hard; predicting them beforehand, even harder. A primer on automatically learning to predict performance regressions in software, this article gives an…

Software Engineering · Computer Science 2023-05-23 Moritz Beller , Hongyu Li , Vivek Nair , Vijayaraghavan Murali , Imad Ahmad , Jürgen Cito , Drew Carlson , Ari Aye , Wes Dyer

Embedded Systems combine one or more processor cores with dedicated logic running on an ASIC or FPGA to meet design goals at reasonable cost. It is achieved by profiling the application with variety of aspects like performance, memory…

Performance · Computer Science 2013-12-12 Rajendra Patel , Arvind Rajwat

We revisit parallel-innermost term rewriting as a model of parallel computation on inductive data structures and provide a corresponding notion of runtime complexity parametric in the size of the start term. We propose automatic techniques…

Logic in Computer Science · Computer Science 2026-04-08 Thaïs Baudon , Carsten Fuhs , Laure Gonnord

Compiler optimizations, usually expressed as rewrites on program graphs, are a core part of all modern compilers. However, even production compilers have bugs, and these bugs are difficult to detect and resolve. The problem only becomes…

Programming Languages · Computer Science 2014-07-31 William Mansky , Dennis Griffith , Elsa L. Gunter

Understanding source code is a topic of great interest in the software engineering community, since it can help programmers in various tasks such as software maintenance and reuse. Recent advances in large language models (LLMs) have…

Software Engineering · Computer Science 2025-04-25 Michele Carissimi , Martina Saletta , Claudio Ferretti

As large language models (LLMs) excel at code reasoning, a natural question arises: can an LLM execute programs (i.e., act as an interpreter) purely based on a programming language's formal semantics? If so, it will enable rapid prototyping…

Programming Languages · Computer Science 2025-10-08 Aditya Thimmaiah , Jiyang Zhang , Jayanth Srinivasa , Junyi Jessy Li , Milos Gligoric

As computer systems grow ever larger and more complex, a crucial task in software development is for one person (the system expert) to communicate to another (the system novice) how a certain program works. This paper reports on the…

Software Engineering · Computer Science 2025-10-13 Matthew Sotoudeh

Recently, we showed how to use control-flow refinement (CFR) to improve automatic complexity analysis of integer programs. While up to now CFR was limited to classical programs, in this paper we extend CFR to probabilistic programs and show…

Logic in Computer Science · Computer Science 2024-06-17 Nils Lommen , Éléanore Meyer , Jürgen Giesl

We study machine learning formulations of inductive program synthesis; given input-output examples, we try to synthesize source code that maps inputs to corresponding outputs. Our aims are to develop new machine learning approaches based on…

Machine Learning · Computer Science 2016-08-17 Alexander L. Gaunt , Marc Brockschmidt , Rishabh Singh , Nate Kushman , Pushmeet Kohli , Jonathan Taylor , Daniel Tarlow

Refactoring is an established technique from the OO-community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas…

Software Engineering · Computer Science 2007-05-23 Tom Schrijvers , Alexander Serebrenik

Current compiler optimization reports often present complex, technical information that is difficult for programmers to interpret and act upon effectively. This paper assesses the capability of large language models (LLM) to understand…

Programming Languages · Computer Science 2025-06-16 Peter Pirkelbauer , Chunhua Liao

This article is concerned with automated complexity analysis of term rewrite systems. Since these systems underlie much of declarative programming, time complexity of functions defined by rewrite systems is of particular interest. Among…

Logic in Computer Science · Computer Science 2011-06-02 Nao Hirokawa , Georg Moser

There exist several approaches to infer runtime or resource bounds for integer programs automatically. In this paper, we study the subclass of periodic rational solvable loops (prs-loops), where questions regarding the runtime and the size…

Logic in Computer Science · Computer Science 2025-08-13 Nils Lommen , Éléanore Meyer , Jürgen Giesl

Context: Software development tools that interact with running programs such as debuggers, profilers, and dynamic analysis frameworks are presumed to demand difficult tradeoffs among implementation complexity (cost), functionality,…

Programming Languages · Computer Science 2018-03-28 Michael Van De Vanter , Chris Seaton , Michael Haupt , Christian Humer , Thomas Würthinger

A less complex and more straightforward program is a crucial factor that enhances its maintainability and makes writing secure and bug-free programs easier. However, due to its heavy workload and the risks of breaking the working programs,…

Programming Languages · Computer Science 2024-04-08 Atsushi Shirafuji , Yusuke Oda , Jun Suzuki , Makoto Morishita , Yutaka Watanobe

Many probabilistic programming languages allow programs to be run under constraints in order to carry out Bayesian inference. Running programs under constraints could enable other uses such as rare event simulation and probabilistic…

Programming Languages · Computer Science 2015-01-19 Neil Toronto , Jay McCarthy , David Van Horn