English
Related papers

Related papers: Inferring Concise Specifications of APIs

200 papers

A common way to get insight into a malicious program's functionality is to look at which API functions it calls. To complicate the reverse engineering of their programs, malware authors deploy API obfuscation techniques, hiding them from…

Cryptography and Security · Computer Science 2020-12-08 Vadim Kotov , Michael Wojnowicz

Fault injection is a key technique for assessing software reliability, enabling proactive detection of system defects before they manifest in production. However, the increasing complexity of microservice architectures leads to exponential…

Software Engineering · Computer Science 2026-01-22 Yuzhen Tan , Jian Wang , Shuaiyu Xie , Bing Li , Yunqing Yong , Neng Zhang , Shaolin Tan

In real world, large language models (LLMs) can serve as the assistant to help users accomplish their jobs, and also support the development of advanced applications. For the wide application of LLMs, the inference efficiency is an…

Computation and Language · Computer Science 2024-04-18 Yushuo Chen , Tianyi Tang , Erge Xiang , Linjiang Li , Wayne Xin Zhao , Jing Wang , Yunpeng Chai , Ji-Rong Wen

Product configuration is a successful application of Answer Set Programming (ASP). However, challenges are still open for interactive systems to effectively guide users through the configuration process. The aim of our work is to provide an…

Artificial Intelligence · Computer Science 2026-01-14 Lucia Balážová , Richard Comploi-Taupe , Susana Hahn , Nicolas Rühling , Gottfried Schenner

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

Programming Languages · Computer Science 2020-08-31 Isabel Wingen , Philipp Körner

Software verification has emerged as a key concern for ensuring the continued progress of information technology. Full verification generally requires, as a crucial step, equipping each loop with a "loop invariant". Beyond their role in…

Software Engineering · Computer Science 2014-01-14 Carlo A. Furia , Bertrand Meyer , Sergey Velder

While many mainstream languages such as Java, Python, and C# increasingly incorporate functional APIs to simplify programming and improve parallelization/performance, there are no effective techniques that can be used to automatically…

Programming Languages · Computer Science 2022-03-21 Benjamin Mariano , Yanju Chen , Yu Feng , Greg Durrett , Isil Dillig

Producing secure software is challenging. The poor usability of security APIs makes this even harder. Many recommendations have been proposed to support developers by improving the usability of cryptography libraries and APIs; rooted in…

Cryptography and Security · Computer Science 2021-05-06 Nikhil Patnaik , Andrew C. Dwyer , Joseph Hallett , Awais Rashid

Developer forums like StackOverflow have become essential resources to modern software development practices. However, many code snippets lack a well-defined method declaration, and thus they are often incomplete for immediate reuse.…

Software Engineering · Computer Science 2021-09-03 Valerio Terragni , Pasquale Salza

One single code change can significantly influence a wide range of software systems and their users. For example, 1) adding a new feature can spread defects in several modules, while 2) changing an API method can improve the performance of…

Software Engineering · Computer Science 2016-06-13 Daoyuan Li , Li Li , Dongsun Kim , Tegawendé F. Bissyandé , David Lo , Yves Le Traon

Ensuring that API implementations and usage comply with natural language programming rules is critical for software correctness, security, and reliability. Formal verification can provide strong guarantees but requires precise…

Programming Languages · Computer Science 2026-02-06 Shihao Xia , Mengting He , Haomin Jia , Linhai Song

This paper presents a focused literature survey on the use of large language models (LLM) to assist in writing formal specifications for software. A summary of thirty-five key papers is presented, including examples for specifying programs…

Software Engineering · Computer Science 2025-06-16 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

MapReduce is a popular programming paradigm for developing large-scale, data-intensive computation. Many frameworks that implement this paradigm have recently been developed. To leverage these frameworks, however, developers must become…

Databases · Computer Science 2018-06-20 Maaz Bin Safeer Ahmad , Alvin Cheung

In this paper, we describe early work on a specification inference tool for the Move Prover that combines a weakest-precondition (WP) analysis over Move bytecode with an agentic coding CLI such as Claude Code. Specification inference…

Programming Languages · Computer Science 2026-05-14 Wolfgang Grieskamp , Teng Zhang , Vineeth Kashyap

Application Programming Interfaces (APIs) are designed to help developers build software more effectively. Recommending the right APIs for specific tasks has gained increasing attention among researchers and developers in recent years. To…

Information Retrieval · Computer Science 2024-01-30 Moshi Wei , Nima Shiri Harzevili , Alvine Boaye Belle , Junjie Wang , Lin Shi , Jinqiu Yang , Song Wang , Ming Zhen , Jiang

Self-supervised learning (SSL) has allowed substantial progress in Automatic Speech Recognition (ASR) performance in low-resource settings. In this context, it has been demonstrated that larger self-supervised feature extractors are crucial…

Audio and Speech Processing · Electrical Eng. & Systems 2023-03-14 Salah Zaiem , Robin Algayres , Titouan Parcollet , Slim Essid , Mirco Ravanelli

Developers prefer to utilize third-party libraries when they implement some functionalities and Application Programming Interfaces (APIs) are frequently used by them. Facing an unfamiliar API, developers tend to consult tutorials as…

Software Engineering · Computer Science 2017-03-07 He Jiang , Jingxuan Zhang , Xiaochen Li , Zhilei Ren , David Lo

This article presents the use of Answer Set Programming (ASP) to mine sequential patterns. ASP is a high-level declarative logic programming paradigm for high level encoding combinatorial and optimization problem solving as well as…

Artificial Intelligence · Computer Science 2017-11-15 Thomas Guyet , Yves Moinard , René Quiniou , Torsten Schaub

One of the obstacles in automatic program proving is to obtain suitable loop invariants. The invariant of a loop is a weakened form of its postcondition (the loop's goal, also known as its contract); the present work takes advantage of this…

Software Engineering · Computer Science 2013-08-14 Carlo A. Furia , Bertrand Meyer

We investigated how programmers express high-level concepts such as path names and coordinates using primitive data types. While relying too much on primitive data types is sometimes criticized as a bad smell, it is still a common practice…

Software Engineering · Computer Science 2022-03-21 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow