English
Related papers

Related papers: Inferring Concise Specifications of APIs

200 papers

Liquid typing provides a decidable refinement inference mechanism that is convenient but subject to two major issues: (1) inference is global and requires top-level annotations, making it unsuitable for inference of modular code components…

Programming Languages · Computer Science 2019-10-31 Niki Vazou , Éric Tanter , David Van Horn

Developers frequently use APIs to implement certain functionalities, such as parsing Excel Files, reading and writing text files line by line, etc. Developers can greatly benefit from automatic API usage sequence generation based on natural…

Software Engineering · Computer Science 2022-04-08 Mohammad Abdul Hadi , Imam Nur Bani Yusuf , Ferdian Thung , Kien Gia Luong , Jiang Lingxiao , Fatemeh H. Fard , David Lo

API recommendation in real-time is challenging for dynamic languages like Python. Many existing API recommendation techniques are highly effective, but they mainly support static languages. A few Python IDEs provide API recommendation…

Software Engineering · Computer Science 2021-02-10 Xincheng He , Lei Xu , Xiangyu Zhang , Rui Hao , Yang Feng , Baowen Xu

We present PPI++: a computationally lightweight methodology for estimation and inference based on a small labeled dataset and a typically much larger dataset of machine-learning predictions. The methods automatically adapt to the quality of…

Machine Learning · Statistics 2024-03-27 Anastasios N. Angelopoulos , John C. Duchi , Tijana Zrnic

RESTful APIs based on HTTP are one of the most important ways to make data and functionality available to applications and software services. However, the quality of the API design strongly impacts API understandability and usability, and…

Software Engineering · Computer Science 2024-09-12 Justus Bogner , Sebastian Kotstein , Daniel Abajirov , Timothy Ernst , Manuel Merkel

Web API specifications are machine-readable descriptions of APIs. These specifications, in combination with related tooling, simplify and support the consumption of APIs. However, despite the increased distribution of web APIs,…

Software Engineering · Computer Science 2018-01-29 Jinqiu Yang , Erik Wittern , Annie T. T. Ying , Julian Dolby , Lin Tan

Context: Application Programming Interface (API) code examples are an essential knowledge resource for learning APIs. However, a few user studies have explored how the structural characteristics of the source code in code examples impact…

Software Engineering · Computer Science 2024-04-04 Seham Alharbi , Dimitris Kolovos

We present an automated compositional program verification technique for safety properties based on conditional inductive invariants. For a given program part (e.g., a single loop) and a postcondition $\varphi$, we show how to, using a…

Logic in Computer Science · Computer Science 2015-08-05 Marc Brockschmidt , Daniel Larraz , Albert Oliveras , Enric Rodriguez-Carbonell , Albert Rubio

In this paper, we propose an assertion-based approach to capture software evolution, through the notion of commit-relevant specification. A commit-relevant specification summarises the program properties that have changed as a consequence…

Software Engineering · Computer Science 2023-01-31 Renzo Degiovanni , Facundo Molina , Agustin Nolasco , Nazareno Aguirre , Mike Papadakis

Probabilistic programming is the idea of writing models from statistics and machine learning using program notations and reasoning about these models using generic inference engines. Recently its combination with deep learning has been…

Programming Languages · Computer Science 2019-11-19 Wonyeol Lee , Hangyeol Yu , Xavier Rival , Hongseok Yang

We present a technique to infer lower bounds on the worst-case runtime complexity of integer programs, where in contrast to earlier work, our approach is not restricted to tail-recursion. Our technique constructs symbolic representations of…

Logic in Computer Science · Computer Science 2020-09-29 Florian Frohn , Matthias Naaf , Marc Brockschmidt , Jürgen Giesl

Higher-order functions and imperative states are language features supported by many mainstream languages. Their combination is expressive and useful, but complicates specification and reasoning, due to the use of yet-to-be-instantiated…

Programming Languages · Computer Science 2024-07-03 Darius Foo , Yahui Song , Wei-Ngan Chin

We give a finite-sample analysis of predictive inference procedures after model selection in regression with random design. The analysis is focused on a statistically challenging scenario where the number of potentially important…

Statistics Theory · Mathematics 2009-08-26 Hannes Leeb

To counter software reverse engineering or tampering, software obfuscation tools can be used. However, such tools to a large degree hard-code how the obfuscations are deployed. They hence lack resilience and stealth in the face of many…

Cryptography and Security · Computer Science 2020-12-24 Jens Van den Broeck , Bart Coppens , Bjorn De Sutter

Formal program specifications in the form of preconditions, postconditions, and class invariants have several benefits for the construction and maintenance of programs. They not only aid in program understanding due to their unambiguous…

Artificial Intelligence · Computer Science 2026-05-14 Chuyue Sun , Viraj Agashe , Saikat Chakraborty , Jubi Taneja , Clark Barrett , David Dill , Xiaokang Qiu , Shuvendu K. Lahiri

Configuration settings are essential for tailoring software behavior to meet specific performance requirements. However, incorrect configurations are widespread, and identifying those that impact system performance is challenging due to the…

Software Engineering · Computer Science 2024-06-19 Zehao Wang , Dong Jae Kim , Tse-Hsun Chen

Most of the web services are offered in the form of RESTful APIs. This has led to an active research interest in API testing to ensure the reliability of these services. While most of the testing techniques proposed in the past rely on the…

Software Engineering · Computer Science 2025-01-31 Devika Sondhi , Ananya Sharma , Diptikalyan Saha

Informal natural language that describes code functionality, such as code comments or function documentation, may contain substantial information about a programs intent. However, there is typically no guarantee that a programs…

Software Engineering · Computer Science 2024-04-17 Madeline Endres , Sarah Fakhoury , Saikat Chakraborty , Shuvendu K. Lahiri

Python type inference is challenging in practice. Due to its dynamic properties and extensive dependencies on third-party libraries without type annotations, the performance of traditional static analysis techniques is limited. Although…

Software Engineering · Computer Science 2021-06-29 Siwei Cui , Gang Zhao , Zeyu Dai , Luochao Wang , Ruihong Huang , Jeff Huang

Current search techniques are limited to standard RAG query-document applications. In this paper, we propose a novel technique to expand the code and index for predicting the required APIs, directly enabling high-quality, end-to-end code…

Software Engineering · Computer Science 2025-10-01 Esakkivel Esakkiraja , Denis Akhiyarov , Aditya Shanmugham , Chitra Ganapathy