English
Related papers

Related papers: A Systematic Approach to Programming

200 papers

We present a system for the automatic differentiation of a higher-order functional array-processing language. The core functional language underlying this system simultaneously supports both source-to-source automatic differentiation and…

Mathematical Software · Computer Science 2018-06-07 Amir Shaikhha , Andrew Fitzgibbon , Dimitrios Vytiniotis , Simon Peyton Jones , Christoph Koch

Writing parallel codes is difficult and exhibits a fundamental trade-off between abstraction and performance. The high level language abstractions designed to simplify the complexities of parallelism make certain assumptions that impacts…

Programming Languages · Computer Science 2020-10-28 Nick Brown , Ludovic Capelli , J. Mark Bull

The topic of this chapter is the role of expert programming knowledge in the understanding activity. In the "schema-based approach", the role of semantic structures is emphasized whereas, in the "control-flow approach", the role of…

Human-Computer Interaction · Computer Science 2016-08-14 Françoise Détienne

Executing various sequences of system functions in a system under test represents one of the primary techniques in software testing. The natural way to create effective, consistent and efficient test sequences is to model the system under…

Software Engineering · Computer Science 2019-12-05 Miroslav Bures , Bestoun S. Ahmed

A program verifier is a tool that can be used to verify that a "contract" for a program holds - i.e. given a precondition the program guarantees that a given postcondition holds - by only working at the level of the annotated program. An…

Software Engineering · Computer Science 2014-06-12 Gudmund Grov

ECLAIR is a Prolog-based prototype system aiming to provide a functionally complete environment for the study, development and evaluation of programming language analysis and implementation tools. In this paper, we sketch the overall…

Programming Languages · Computer Science 2007-11-06 Roberto Bagnara , Patricia Hill , Enea Zaffanella

Combinatorial evolution - the creation of new things through the combination of existing things - can be a powerful way to evolve rather than design technical objects such as electronic circuits. Intriguingly, this seems to be an ongoing…

Software Engineering · Computer Science 2021-11-23 Sebastian Fix , Thomas Probst , Oliver Ruggli , Thomas Hanne , Patrik Christen

A learning algorithm based on primary school teaching and learning is presented. The methodology is to continuously evaluate a student and to give them training on the examples for which they repeatedly fail, until, they can correctly…

Artificial Intelligence · Computer Science 2010-12-14 Ninan Sajeeth Philip

With the rise of machine learning, there is a great deal of interest in treating programs as data to be fed to learning algorithms. However, programs do not start off in a form that is immediately amenable to most off-the-shelf learning…

Software Engineering · Computer Science 2018-08-21 Jordan Henkel , Shuvendu K. Lahiri , Ben Liblit , Thomas Reps

Dynamic software adaptability is one of the central features leveraged by autonomic computing. However, developing software that changes its behavior at run time adapting to the operational conditions is a challenging task. Several…

Programming Languages · Computer Science 2012-04-02 Guido Salvaneschi , Carlo Ghezzi , Matteo Pradella

We define an algorithm to be the set of programs that implement or express that algorithm. The set of all programs is partitioned into equivalence classes. Two programs are equivalent if they are essentially the same program. The set of…

Logic · Mathematics 2010-06-14 Noson S. Yanofsky

The control architecture of autonomous robots can be developed by programming and integrating multiple software components that individually control separate behaviors. This approach requires additional mechanisms to coordinate their…

Robotics · Computer Science 2021-03-12 Martin Molina , Pablo Santamaria , Abraham Carrera

Tracers provide users with useful information about program executions. In this article, we propose a ``tracer driver''. From a single tracer, it provides a powerful front-end enabling multiple dynamic analysis tools to be easily…

Software Engineering · Computer Science 2008-12-18 Ludovic Langevine , Mireille Ducasse

This paper describes an approach to the methodology of answer set programming (ASP) that can facilitate the design of encodings that are easy to understand and provably correct. Under this approach, after appending a rule or a small group…

Artificial Intelligence · Computer Science 2019-08-08 Vladimir Lifschitz

Abstract models of system-level behaviour have applications in design exploration, analysis, testing and verification. We describe a new algorithm for automatically extracting useful models, as automata, from execution traces of a HW/SW…

Formal Languages and Automata Theory · Computer Science 2020-05-06 Natasha Yogananda Jeppu , Tom Melham , Daniel Kroening , John O'Leary

Software development automation is a long-term goal in software engineering. With the development of artificial intelligence (AI), more and more researchers are exploring approaches to software automation. They view AI systems as tools or…

Software Engineering · Computer Science 2025-11-25 Jia Li , Zhi Jin , Huangzhao Zhang , Kechi Zhang , Jiaru Qian , Tiankuo Zhao

A new workflow for software development (proof-driven development) is presented. An extension of test-driven development, the new workflow utilizes the paradigm of dependently typed programming. The differences in design, complexity and…

Software Engineering · Computer Science 2015-12-08 Ben Goodspeed

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Answer Set Programming (ASP) is a well-known declarative formalism in logic programming. Efficient implementations made it possible to apply ASP in many scenarios, ranging from deductive databases applications to the solution of hard…

Logic in Computer Science · Computer Science 2020-02-19 Bernardo Cuteri , Carmine Dodaro , Francesco Ricca , Peter Schüller

The current trends in next-generation exascale systems go towards integrating a wide range of specialized (co-)processors into traditional supercomputers. Due to the efficiency of heterogeneous systems in terms of Watts and FLOPS per…

Programming Languages · Computer Science 2017-01-26 Guillermo Vigueras , Manuel Carro , Salvador Tamarit , Julio Mariño