English
Related papers

Related papers: On a New Notion of Partial Refinement

200 papers

Term rewriting systems have a simple syntax and semantics and facilitate proofs of correctness. However, they are not as popular in industry or academia as imperative languages. We define a term rewriting based abstract programming language…

Programming Languages · Computer Science 2020-07-08 David Plaisted , Lee Barnett

In order to alleviate the inefficiencies caused by the interaction of the logic and functional sides, integrated languages may take advantage of \emph{demand} information -- i.e. knowing in advance which computations are needed and, to…

Programming Languages · Computer Science 2007-05-23 Julio Marino , Angel Herranz , Juan Jose Moreno-Navarro

Automatic synthesis from a given specification automatically constructs correct implementation. This frees the user from the mundane implementation work, but still requires the specification. But is specifying easier than implementing? In…

Logic in Computer Science · Computer Science 2016-02-04 Ayrat Khalimov

In today's software world with its cornucopia of reusable software libraries, when a programmer is faced with a programming task that they suspect can be completed through the use of a library, they often look for code examples using a…

Software Engineering · Computer Science 2021-10-08 Geert Heyman , Rafael Huysegems , Pascal Justen , Tom Van Cutsem

The purpose of this paper is to address some of the challenges of formally specifying components of shared-memory concurrent programs. The focus is to provide an abstract specification of a component that is suitable for use both by clients…

Programming Languages · Computer Science 2018-10-24 Ian J. Hayes

We propose a method for inferring \emph{parameterized regular types} for logic programs as solutions for systems of constraints over sets of finite ground Herbrand terms (set constraint systems). Such parameterized regular types generalize…

Logic in Computer Science · Computer Science 2010-02-16 F. Bueno , J. Navas , M. Hermenegildo

We present an extension of System F with call-by-name exceptions. The type system is enriched with two syntactic constructs: a union type for programs whose execution may raise an exception at top level, and a corruption type for programs…

Programming Languages · Computer Science 2015-07-01 Sylvain Lebresne

Agentic AI systems can now generate code with remarkable fluency, but a fundamental question remains: \emph{does the generated code actually do what the user intended?} The gap between informal natural language requirements and precise…

Software Engineering · Computer Science 2026-03-19 Shuvendu K. Lahiri

This work introduces the novel concept of kind refinement, which we develop in the context of an explicitly polymorphic ML-like language with type-level computation. Just as type refinements embed rich specifications by means of…

Programming Languages · Computer Science 2019-08-02 Luís Caires , Bernardo Toninho

The ultimate goal of all optimization methods is to solve real-world problems. For a successful project execution, knowledge about optimization and the application has to be pooled. As it is too inefficient to highly train one person in…

Optimization and Control · Mathematics 2016-07-19 Simon Wessing

Education in the practical applications of logic and proving such as the formal specification and verification of computer programs is substantially hampered by the fact that most time and effort that is invested in proving is actually…

Logic in Computer Science · Computer Science 2018-03-06 Wolfgang Schreiner , Alexander Brunhuemer , Christoph Fürst

It is a long-standing desire of industry and research to automate the software development and testing process as much as possible. In this process, requirements engineering (RE) plays a fundamental role for all other steps that build on…

Software Engineering · Computer Science 2023-09-26 Viju Sudhi , Libin Kutty , Robin Gröpler

We present a new approach to termination analysis of logic programs. The essence of the approach is that we make use of general term-orderings (instead of level mappings), like it is done in transformational approaches to logic program…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye

Heuristic optimisers which search for an optimal configuration of variables relative to an objective function often get stuck in local optima where the algorithm is unable to find further improvement. The standard approach to circumvent…

Machine Learning · Statistics 2015-12-10 Ilia Zintchenko , Matthew Hastings , Nathan Wiebe , Ethan Brown , Matthias Troyer

In sequential functional languages, sized types enable termination checking of programs with complex patterns of recursion in the presence of mixed inductive-coinductive types. In this paper, we adapt sized types and their metatheory to the…

Programming Languages · Computer Science 2024-04-16 Siva Somayyajula , Frank Pfenning

Software has always been considered as malleable. Changes to software requirements are inevitable during the development process. Despite many software engineering advances over several decades, requirements changes are a source of project…

Software Engineering · Computer Science 2021-04-05 Waqar Hussain , Didar Zowghi , Tony Clear , Stephen MacDonell , Kelly Blincoe

To improve the quality of programs we provide an approach to guidance in the process of program development. At the higher level the various activities and their dependencies to structure the process are identified. At the lower level,…

Software Engineering · Computer Science 2024-11-21 Harrie Passier , Lex Bijlsma , Ruurd Kuiper , Kees Huizing

Refinement based formal methods allow the modelling of systems through incremental steps via abstraction. Discovering the right levels of abstraction, formulating correct and meaningful invariants, and analysing faulty models are some of…

Software Engineering · Computer Science 2016-03-03 Gudmund Grov , Andrew Ireland , Maria Teresa Llano , Peter Kovacs , Simon Colton , Jeremy Gow

Empirical software engineering is concerned with the design and analysis of empirical studies that include software products, processes, and resources. Optimization is a form of data analytics in support of human decision-making.…

Software Engineering · Computer Science 2019-12-05 Guenther Ruhe

There are two ways to check if a program is correct, namely execute it or review it. While executing a program is the ultimate test for its correctness reviewing the program can occur earlier in its development and find problems if done…

Software Engineering · Computer Science 2024-07-03 Scott Ballentine , Eitan Farchi
‹ Prev 1 3 4 5 6 7 10 Next ›