English
Related papers

Related papers: Effective Analysis of C Programs by Rewriting Vari…

200 papers

Compilers can specialize programs having invariants for performance improvement. Detecting program invariants that span large and complex code, however, is difficult for compilers. Traditional compilers do not perform very expensive…

Programming Languages · Computer Science 2019-07-01 Wei He

Human written source code in imperative programming languages exhibits typical patterns for variable use such as flags, loop iterators, counters, indices, bitvectors etc. Although it is widely understood by practitioners that these variable…

Programming Languages · Computer Science 2013-06-17 Yulia Demyanova , Helmut Veith , Florian Zuleger

Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be…

Logic in Computer Science · Computer Science 2017-08-25 G. W. Hamilton

A software analysis is a computer program that takes some representation of a software product as input and produces some useful information about that product as output. A software product line encompasses \emph{many} software product…

Programming Languages · Computer Science 2020-10-05 Ramy Shahin , Marsha Chechik

In our times, when the world is increasingly becoming more dependent on software programs, writing bug-free, correct programs is crucial. Program verification based on formal methods can guarantee this by detecting run-time errors in…

Programming Languages · Computer Science 2024-03-21 Rajendra Kumar Solanki

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

Software verification is a complex problem, and verification tools need significant tuning to achieve high performance. Due to this, many verifiers choose to specialize on reachability properties, or invest the time to implement known…

Programming Languages · Computer Science 2025-01-28 Dirk Beyer , Marek Jankola , Marian Lingsch-Rosenfeld , Tian Xia , Xiyue Zheng

Variational systems allow effective building of many custom variants by using features (configuration options) to mark the variable functionality. In many of the applications, their quality assurance and formal verification are of paramount…

Logic in Computer Science · Computer Science 2018-03-06 Aleksandar S. Dimovski

Bounded Model Checking is one the most successful techniques for finding bugs in program. However, model checkers are resource hungry and are often unable to verify programs with loops iterating over large arrays.We present a transformation…

Logic in Computer Science · Computer Science 2017-03-08 Anushri Jana , Uday P. Khedker , Advaita Datar , R Venkatesh , C Niyas

We present a method for verifying partial correctness properties of imperative programs that manipulate integers and arrays by using techniques based on the transformation of constraint logic programs (CLP). We use CLP as a metalanguage for…

Programming Languages · Computer Science 2013-09-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

This paper surveys recent work on applying analysis and transformation techniques that originate in the field of constraint logic programming (CLP) to the problem of verifying software systems. We present specialisation-based techniques for…

Logic in Computer Science · Computer Science 2021-08-03 Emanuele De Angelis , Fabio Fioravanti , John P. Gallagher , Manuel V. Hermenegildo , Alberto Pettorossi , Maurizio Proietti

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

Programming Languages · Computer Science 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

Optimizing compilers have become a cornerstone for high-performance program generation in research and industry. Optimizations, including those implemented manually by a user and those target-specific and non-target-specific, are used to…

Programming Languages · Computer Science 2026-05-05 Emily Tucker , Louis-Noël Pouchet , Erika Hunhoff , Stephen Neuendorffer , Erwei Wang

Arrays are commonly used in a variety of software to store and process data in loops. Automatically proving safety properties of such programs that manipulate arrays is challenging. We present a novel verification technique, called…

Programming Languages · Computer Science 2022-09-27 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Provably correct software is one of the key challenges in our softwaredriven society. While formal verification establishes the correctness of a given program, the result of program synthesis is a program which is correct by construction.…

Logic in Computer Science · Computer Science 2021-03-08 Andreas Humenberger , Laura Kovacs

Program verification is vital for ensuring software reliability, especially in the context of increasingly complex systems. Loop invariants, remaining true before and after each iteration of loops, are crucial for this verification process.…

Programming Languages · Computer Science 2024-06-10 Chang Liu , Xiwei Wu , Yuan Feng , Qinxiang Cao , Junchi Yan

Bounded Model Checking is one the most successful techniques for finding bugs in program. However, for programs with loops iterating over large-sized arrays, bounded model checkers often exceed the limit of resources available to them. We…

Programming Languages · Computer Science 2016-08-22 Anushri Jana , Uday P. Khedker , Advaita Datar , R Venkatesh , C Niyas

The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many…

Software Engineering · Computer Science 2021-04-13 David Baum , Christina Sixtus , Lisa Vogelsberg , Ulrich Eisenecker

Commutativity has proven to be a powerful tool in reasoning about concurrent programs. Recent work has shown that a commutativity-based reduction of a program may admit simpler proofs than the program itself. The framework of…

Programming Languages · Computer Science 2023-11-07 Azadeh Farzan , Dominik Klumpp , Andreas Podelski

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
‹ Prev 1 2 3 10 Next ›