English
Related papers

Related papers: Inferring Concise Specifications of APIs

200 papers

Several real-world libraries (e.g., reentrant locks, GUI frameworks, serialization libraries) require their clients to use the provided API in a manner that conforms to a context-free specification. Motivated by this observation, this paper…

Programming Languages · Computer Science 2020-10-20 Kostas Ferles , Jon Stephens , Isil Dillig

Security Application Programming Interfaces (APIs) are crucial for ensuring software security. However, their misuse introduces vulnerabilities, potentially leading to severe data breaches and substantial financial loss. Complex API design,…

Cryptography and Security · Computer Science 2025-05-15 Zahra Mousavi , Chadni Islam , M. Ali Babar , Alsharif Abuadbba , Kristen Moore

Information about the memory locations accessed by a program is, for instance, required for program parallelisation and program verification. Existing inference techniques for this information provide only partial solutions for the…

Programming Languages · Computer Science 2018-04-12 Jérôme Dohrau , Alexander J. Summers , Caterina Urban , Severin Münger , Peter Müller

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

A resource leak occurs when a program fails to free some finite resource after it is no longer needed. Such leaks are a significant cause of real-world crashes and performance problems. Recent work proposed an approach to prevent resource…

Software Engineering · Computer Science 2023-09-25 Narges Shadab , Pritam Gharat , Shrey Tiwari , Michael D. Ernst , Martin Kellogg , Shuvendu Lahiri , Akash Lal , Manu Sridharan

SPEEDY is an Eclipse-based IDE for exploring techniques that assist users in generating correct specifications, particularly including invariant inference algorithms and tools. It integrates with several back-end tools that propose…

Logic in Computer Science · Computer Science 2014-04-29 David R. Cok , Scott C. Johnson

Programmers often leverage data structure libraries that provide useful and reusable abstractions. Modular verification of programs that make use of these libraries naturally rely on specifications that capture important properties about…

Programming Languages · Computer Science 2022-02-15 Zhe Zhou , Robert Dickerson , Benjamin Delaware , Suresh Jagannathan

Precondition inference is a non-trivial task with several applications in program analysis and verification. We present a novel iterative method for automatically deriving sufficient preconditions for safety and unsafety of programs which…

Logic in Computer Science · Computer Science 2018-11-19 Bishoksan Kafle , Graeme Gange , Peter Schachte , Harald Sondergaard , Peter J. Stuckey

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

Formal postconditions precisely characterize program behavior and support debugging, testing, and verification, but writing them requires substantial expertise and effort. This has motivated recent work on automatically generating…

Software Engineering · Computer Science 2026-05-06 Gehao Zhang , Juan Zhai

REST APIs are prevalent among web service implementations, easing interoperability through the HTTP protocol. API testers and users exploit the widely adopted OpenAPI Specification (OAS), a machine-readable standard to document REST APIs.…

Software Engineering · Computer Science 2025-07-17 Alix Decrop , Xavier Devroey , Mike Papadakis , Pierre-Yves Schobbens , Gilles Perrouin

Today's programmers, especially data science practitioners, make heavy use of data-processing libraries (APIs) such as PyTorch, Tensorflow, NumPy, Pandas, and the like. Program synthesizers can provide significant coding assistance to this…

Software Engineering · Computer Science 2022-05-19 Daye Nam , Baishakhi Ray , Seohyun Kim , Xianshan Qu , Satish Chandra

We propose a "formula slicing" method for finding inductive invariants. It is based on the observation that many loops in the program affect only a small part of the memory, and many invariants which were valid before a loop are still valid…

Logic in Computer Science · Computer Science 2016-10-04 Egor George Karpenkov , David Monniaux

Modern web applications make extensive use of API calls to update the UI state in response to user events or server-side changes. For such applications, API-level testing can play an important role, in-between unit-level testing and…

Software Engineering · Computer Science 2023-05-25 Rahulkrishna Yandrapally , Saurabh Sinha , Rachel Tzoref-Brill , Ali Mesbah

Despite its many unquestionable benefits, formal specifications are not widely used in industrial software development. In order to reduce the time and effort required to write formal specifications, in this paper we propose a technique for…

Programming Languages · Computer Science 2015-12-23 María Alpuente , Daniel Pardo , Alicia Villanueva

A good documentation is essential for a good usability of (security) APIs, i.e. especially for the correct use of the APIs. Requirements for good documentation of APIs have been described in several papers, but there is no technical…

Software Engineering · Computer Science 2020-07-28 Rolf Huesmann , Alexander Zeier , Andreas Heinemann , Alexander Wiesmaier

As software systems grow in scale, developers face increasing difficulty in selecting appropriate Application Programming Interfaces (APIs) from numerous options. Efficiently identifying APIs that satisfy functional requirements has become…

Software Engineering · Computer Science 2026-05-04 Shenglong Wu , Xunhui Zhang , Tao Wang

In the digital era, the widespread use of APIs is evident. However, scalable utilization of APIs poses a challenge due to structure divergence observed in online API documentation. This underscores the need for automatic tools to facilitate…

Computation and Language · Computer Science 2024-02-20 Koren Lazar , Matan Vetzler , Guy Uziel , David Boaz , Esther Goldbraich , David Amid , Ateret Anaby-Tavor

Proof-of-concept exploits help demonstrate software vulnerability beyond doubt and communicate attacks to non-experts. But exploits can be configuration-specific, for example when in Security APIs, where keys are set up specifically for the…

Cryptography and Security · Computer Science 2024-10-03 Robert Künnemann , Julian Biehl

This paper presents a formal approach to specify and verify object-oriented programs written in the `programming to interfaces' paradigm. Besides the methods to be invoked by its clients, an interface also declares a set of abstract…

Logic in Computer Science · Computer Science 2013-12-02 Jianhua Zhao , Xuandong LI