English
Related papers

Related papers: Formal Verification of `Programming to Interfaces'…

200 papers

Many universities have courses and projects revolving around compiler or interpreter implementation as part of their degree programmes in computer science. In such teaching activities, tool support can be highly beneficial. While there are…

Programming Languages · Computer Science 2022-09-21 Georgian-Vlad Saioc , Hans Hüttel

We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification…

Programming Languages · Computer Science 2020-08-27 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

Formal verification provides mathematical guarantees that a software is correct. Design-level verification tools ensure software specifications are correct, but they do not expose defects in actual implementations. For this purpose,…

Software Engineering · Computer Science 2025-05-01 Paschal C. Amusuo , Parth V. Patil , Owen Cochell , Taylor Le Lievre , James C. Davis

A feature-oriented product line is a family of programs that share a common set of features. A feature implements a stakeholder's requirement, represents a design decision and configuration option and, when added to a program, involves the…

Software Engineering · Computer Science 2010-01-21 Sven Apel , Christian Kaestner , Armin Groesslinger , Christian Lengauer

The interplay between process behaviour and spatial aspects of computation has become more and more relevant in Computer Science, especially in the field of collective adaptive systems, but also, more generally, when dealing with systems…

Logic in Computer Science · Computer Science 2014-06-27 Vincenzo Ciancia , Diego Latella , Michele Loreti , Mieke Massink

Safety-Critical Java (SCJ) introduces a new programming paradigm for applications that must be certified. The SCJ specification (JSR 302) is an Open Group Standard, but it does not include verification techniques. Previous work has…

Software Engineering · Computer Science 2018-05-29 Matt Luckcuck , Ana Cavalcanti , Andy Wellings

Binary-level pointer analysis can be of use in symbolic execution, testing, verification, and decompilation of software binaries. In various such contexts, it is crucial that the result is trustworthy, i.e., it can be formally established…

Software Engineering · Computer Science 2025-01-30 Freek Verbeek , Ali Shokri , Daniel Engel , Binoy Ravindran

Recent advances in the field of Business Process Management have brought about several suites able to model complex data objects along with the traditional control flow perspective. Nonetheless, when it comes to formal verification there is…

Artificial Intelligence · Computer Science 2025-07-25 Riccardo De Masellis , Chiara Di Francescomarino , Chiara Ghidini , Sergio Tessaris

The Gisela framework for declarative programming was developed with the specific aim of providing a tool that would be useful for knowledge representation and reasoning within real-world applications. To achieve this, a complete integration…

Software Engineering · Computer Science 2007-05-23 Goran Falkman , Olof Torgersson

The problem of resolving virtual method and interface calls in object-oriented languages has been a long standing challenge to the program analysis community. The complexities are due to various reasons, such as increased levels of class…

Programming Languages · Computer Science 2019-07-16 Xilong Zhuo , Chenyi Zhang

A demand-driven approach to program analysis have been viewed as efficient algorithms to compute only the information required to serve a target demand. In contrast, an exhaustive approach computes all information in anticipation of it…

Programming Languages · Computer Science 2018-02-06 Swati Jaiswal , Uday P. Khedker , Supratik Chakraborty

We present a logical framework for the verification of relational properties in imperative programs. Our work is motivated by relational properties which come from security applications and often require reasoning about formulas with…

Logic in Computer Science · Computer Science 2019-08-13 Gilles Barthe , Renate Eilers , Pamina Georgiou , Bernhard Gleiss , Laura Kovacs , Matteo Maffei

Design patterns are distilled from many real systems to catalog common programming practice. However, some object-oriented design patterns are distorted or overly complicated because of the lack of supporting programming language constructs…

Programming Languages · Computer Science 2019-06-03 Gerald Baumgartner , Konstantin Läufer , Vincent F. Russo

Protocols for tasks such as authentication, electronic voting, and secure multiparty computation ensure desirable security properties if agents follow their prescribed programs. However, if some agents deviate from their prescribed programs…

Cryptography and Security · Computer Science 2015-05-06 Anupam Datta , Deepak Garg , Dilsun Kaynar , Divya Sharma , Arunesh Sinha

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

VeriFast is a prototype tool based on separation logic for modular verification of C and Java programs. We are in the process of adding support for C++. In this report, we describe the features of C++ for which we added support so far, as…

Logic in Computer Science · Computer Science 2022-12-29 Niels Mommen , Bart Jacobs

Modeling and analysis of interactions among services is a crucial issue in Service-Oriented Computing. Composing Web services is a complicated task which requires techniques and tools to verify that the new system will behave correctly. In…

Software Engineering · Computer Science 2010-09-21 Gwen Salaün

A hallmark of object-oriented programming is the ability to perform computation through a set of interacting objects. A common manifestation of this style is the notion of a package, which groups a set of commonly used classes together. A…

Software Engineering · Computer Science 2014-01-21 Shahram Esmaeilsabzali , Rupak Majumdar , Thomas Wies , Damien Zufferey

Many project-specific languages, including in particular filtering languages, are defined using non-formal specifications written in natural languages. This leads to ambiguities and errors in the specification of those languages. This paper…

Programming Languages · Computer Science 2017-01-31 Gurvan Le Guernic , Benoit Combemale , José A. Galindo

Behavioral software contracts are a widely used mechanism for governing the flow of values between components. However, run-time monitoring and enforcement of contracts imposes significant overhead and delays discovery of faulty components…

Programming Languages · Computer Science 2014-06-17 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn