English
Related papers

Related papers: Partial Evaluation for Program Comprehension

200 papers

We present a spreadsheet implementation, extended with sheet-defined functions, that allows users to define functions using only standard spreadsheet concepts such as cells, formulas and references, requiring no new syntax. This implements…

Programming Languages · Computer Science 2013-09-23 Peter Sestoft

We present a new method for inferring complexity properties for a class of programs in the form of flowcharts annotated with loop information. Specifically, our method can (soundly and completely) decide if computed values are polynomially…

Programming Languages · Computer Science 2016-07-11 Amir M. Ben-Amram , Aviad Pineles

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á

The application of automatic transformation processes during the formal development and optimization of programs can introduce encumbrances in the generated code that programmers usually (or presumably) do not write. An example is the…

Programming Languages · Computer Science 2007-05-23 Maria Alpuente , Santiago Escobar , Salvador Lucas

Reliable effort estimation remains an ongoing challenge to software engineers. Accurate effort estimation is the state of art of software engineering, effort estimation of software is the preliminary phase between the client and the…

Software Engineering · Computer Science 2010-04-09 Saleem Basha , Dhavachelvan Ponnurangam

The predominant challenge in weakly supervised semantic parsing is that of spurious programs that evaluate to correct answers for the wrong reasons. Prior work uses elaborate search strategies to mitigate the prevalence of spurious…

Computation and Language · Computer Science 2021-07-14 Nitish Gupta , Sameer Singh , Matt Gardner

Formal software specification is known to enable early error detection and explicit invariants, yet it has seen limited industrial adoption due to its high notation overhead and the expertise required to use traditional formal languages.…

Software Engineering · Computer Science 2026-01-16 Antonio Abu Nassar , Eitan Farchi

Abstract interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms are well understood, their implementations are subject to bugs, that might question the soundness of their…

Programming Languages · Computer Science 2021-10-19 Lucas Franceschino , David Pichardie , Jean-Pierre Talpin

Fortran is the oldest high-level programming language that remains in use today and is one of the dominant languages used for compute-intensive scientific and engineering applications. However, Fortran has not kept up with the modern…

Lehman's Laws teach us that a software system will become progressively less satisfying to its users over time, unless it is continually adapted to meet new needs. Understanding software maintenance can potentially relieve many of the pains…

Software Engineering · Computer Science 2019-03-13 Stanislav Levin , Amiram Yehudai

Historically, programming language semantics has focused on assigning a precise mathematical meaning to programs. That meaning is a function from the program's input domain to its output domain determined solely by its syntactic structure.…

Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption and more generally to optimize a given program. Essentially it consists of a sequence of syntactic program manipulations which…

Programming Languages · Computer Science 2008-07-28 Maurizio Gabbrielli , Maria Chiara Meo , Paolo Tacchella

We provide a novel notion of what it means to be interpretable, looking past the usual association with human understanding. Our key insight is that interpretability is not an absolute concept and so we define it relative to a target model,…

Artificial Intelligence · Computer Science 2017-07-14 Amit Dhurandhar , Vijay Iyengar , Ronny Luss , Karthikeyan Shanmugam

Like software, requirements evolve and change frequently during the development process. Refactoring is the process of reorganising software without changing its behaviour, to make it easier to understand and modify. We propose refactoring…

Software Engineering · Computer Science 2022-01-13 Marie Farrell , Matt Luckcuck , Oisin Sheridan , Rosemary Monahan

We present a one-fits-all programmatic approach to reason about a plethora of objectives on probabilistic programs. The first ingredient is to add a reward-statement to the language. We then define a program transformation applying a…

Programming Languages · Computer Science 2026-03-04 Philipp Schröer , Joost-Pieter Katoen

Analytical quality assurance, especially testing, is an integral part of software-intensive system development. With the increased usage of Artificial Intelligence (AI) and Machine Learning (ML) as part of such systems, this becomes more…

Software Engineering · Computer Science 2021-10-07 Lisa Jöckel , Thomas Bauer , Michael Kläs , Marc P. Hauer , Janek Groß

Context: A growing amount of code is written to explore and analyze data, often by data analysts who do not have a traditional background in programming, for example by journalists. Inquiry: The way such data anlysts write code is different…

Programming Languages · Computer Science 2020-02-17 Tomas Petricek

Real-world software applications must constantly evolve to remain relevant. This evolution occurs when developing new applications or adapting existing ones to meet new requirements, make corrections, or incorporate future functionality.…

Software Engineering · Computer Science 2023-08-31 Sebastian Hönel

Programming languages serve a dual purpose: to communicate programs to computers, and to communicate programs to humans. Indeed, it is this dual purpose that makes programming language design a constrained and challenging problem.…

Programming Languages · Computer Science 2016-01-12 Andrew P. Black , Kim B. Bruce , James Noble

This paper explores the relationship between C++ templates and partial evaluation. Templates were designed to support generic programming, but unintentionally provided the ability to perform compile-time computations and code generation.…

Programming Languages · Computer Science 2007-05-23 Todd L. Veldhuizen