English
Related papers

Related papers: Partial Evaluation for Program Comprehension

200 papers

This paper is a short tutorial introduction to online partial evaluation. We show how to write a simple online partial evaluator for a simple, pure, first-order, functional programming language. In particular, we show that the partial…

Programming Languages · Computer Science 2011-09-06 William R. Cook , Ralf Lämmel

Problems in program analysis can be solved by developing novel program semantics and deriving abstractions conventionally. For over thirty years, higher-order program analysis has been sold as a hard problem. Its solutions have required…

Programming Languages · Computer Science 2011-05-03 Sam Tobin-Hochstadt , David Van Horn

Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding…

Software Engineering · Computer Science 2019-02-05 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

Probabilistic programming is a growing area that strives to make statistical analysis more accessible, by separating probabilistic modelling from probabilistic inference. In practice this decoupling is difficult. No single inference…

Programming Languages · Computer Science 2022-04-15 Maria I. Gorinova

Formal specification techniques allow expressing idealized specifications, which abstract from restrictions that may arise in implementations. However, partial implementations are universal in software development due to practical…

Logic in Computer Science · Computer Science 2013-05-28 Emil Sekerinski , Tian Zhang

Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to…

Programming Languages · Computer Science 2021-04-21 Maxwell Nye , Yewen Pu , Matthew Bowers , Jacob Andreas , Joshua B. Tenenbaum , Armando Solar-Lezama

What factors impact the comprehensibility of code? Previous research suggests that expectation-congruent programs should take less time to understand and be less prone to errors. We present an experiment in which participants with…

Software Engineering · Computer Science 2013-04-29 Michael Hansen , Robert L. Goldstone , Andrew Lumsdaine

We present Executable Abstract Programs and analyse their role for software development and documentation. The intuitive understanding of these programs fits the computational mindset of software system engineers and is supported by a…

Software Engineering · Computer Science 2022-09-15 Egon Boerger

Many tools used to process programs, like compilers, analyzers, or verifiers, perform transformations on their intermediate program representation, like abstract syntax trees. Implementing such program transformations is a non-trivial task,…

Programming Languages · Computer Science 2026-01-21 Michael Hanus , Steven Libby

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

Static program analysis by abstract interpretation is an efficient method to determine properties of embedded software. One example is value analysis, which determines the values stored in the processor registers. Its results are used as…

Logic in Computer Science · Computer Science 2011-11-09 Reinhold Heckmann , Christian Ferdinand

Reverse engineering has been a standard practice in the hardware community for some time. It has only been within the last ten years that reverse engineering, or "program comprehension", has grown into the current sub-discipline of software…

Software Engineering · Computer Science 2007-05-23 Michael L. Nelson

Be it in debugging, testing, code review or, more recently, pair programming with AI assistance: in all these activities, software engineers need to understand source code. Accordingly, plenty of research is taking place in the field to…

Software Engineering · Computer Science 2023-10-18 Marvin Wyrich

Language workbenches are tools that enable the definition, reuse, and composition of programming languages and their ecosystems, aiming to streamline language development. To facilitate their adoption by language designers, the…

Software Engineering · Computer Science 2026-01-29 Giovanna Broccia , Maurice H. ter Beek , Walter Cazzola , Luca Favalli , Francesco Bertolotti , Alessio Ferrari

Relative correctness is the property of a program to be more-correct than another with respect to a given specification. Whereas the traditional definition of (absolute) correctness divides candidate program into two classes (correct, and…

Software Engineering · Computer Science 2016-06-03 Nafi Diallo , Wided Ghardallou , Ali Mili

Approximations during program analysis are a necessary evil, as they ensure essential properties, such as soundness and termination of the analysis, but they also imply not always producing useful results. Automatic techniques have been…

Programming Languages · Computer Science 2018-12-18 Isabel Garcia-Contreras , Jose F. Morales , Manuel V. Hermenegildo

Multiple default inheritance formalisms for lexicons have attracted much interest in recent years. I propose a new efficient method to access such lexicons. After showing two basic strategies for lookup in inheritance lexicons, a compromise…

cmp-lg · Computer Science 2007-05-23 Sven Hartrumpf

Developers spend 70% of their time understanding code. Code that is easy to read can save time, while hard-to-read code can lead to the introduction of bugs. However, it is difficult to establish what makes code more understandable.…

Software Engineering · Computer Science 2021-10-05 Delano Oliveira

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

A computational limit of combining partial evaluation and program inversion is investigated. Using a reversible Turing machine interpreter, we show that the first Futamura and inversion projections can produce not only functionally but also…

Programming Languages · Computer Science 2024-12-05 Robert Glück , Louis Marott Normann
‹ Prev 1 2 3 10 Next ›