Modern software relies on libraries and uses them via application programming interfaces (APIs). Correct API usage as well as many software engineering tasks are enabled when APIs have formal specifications. In this work, we analyze the implementation of each method in an API to infer a formal postcondition. Conventional wisdom is that, if one has preconditions, then one can use the strongest postcondition predicate transformer (SP) to infer postconditions. However, SP yields postconditions that are exponentially large, which makes them difficult to use, either by humans or by tools. Our key idea is an algorithm that converts such exponentially large specifications into a form that is more concise and thus more usable. This is done by lever...
This paper is a theoretical study of a practical problem: the automatic generation of Java Fluent AP...
Many libraries have been used in the software project. With the increasing number of libraries used ...
Current verification condition (VC) generation algorithms, such as weakest preconditions, yield a VC...
Modern software relies on libraries and uses them via application programming interfaces (APIs). Cor...
Manually writing pre-And postconditions to document the behavior of a large library is a time-consum...
Modern software relies on existing application programming interfaces (APIs) from libraries. Formal ...
Software reliability is a primary concern in the construction of software, and thus a fundamental co...
Many software libraries, especially those commercial ones, provide API documentation in natural lang...
Many software libraries, especially those commercial ones, provide API documentation in natural lang...
Formal specifications for APIs help developers correctly use them and enable checker tools automatic...
API libraries are becoming increasingly popular in modern software industries because these librarie...
The reliability and correctness of complex software systems can be significantly enhanced through we...
Developers extensively use and reuse the Application Programming Interfaces (APIs) to faster the dev...
Large language models (LLMs) can synthesize code from natural language descriptions or by completing...
AbstractOne of today's challenges is producing reliable software in the face of an increasing number...
This paper is a theoretical study of a practical problem: the automatic generation of Java Fluent AP...
Many libraries have been used in the software project. With the increasing number of libraries used ...
Current verification condition (VC) generation algorithms, such as weakest preconditions, yield a VC...
Modern software relies on libraries and uses them via application programming interfaces (APIs). Cor...
Manually writing pre-And postconditions to document the behavior of a large library is a time-consum...
Modern software relies on existing application programming interfaces (APIs) from libraries. Formal ...
Software reliability is a primary concern in the construction of software, and thus a fundamental co...
Many software libraries, especially those commercial ones, provide API documentation in natural lang...
Many software libraries, especially those commercial ones, provide API documentation in natural lang...
Formal specifications for APIs help developers correctly use them and enable checker tools automatic...
API libraries are becoming increasingly popular in modern software industries because these librarie...
The reliability and correctness of complex software systems can be significantly enhanced through we...
Developers extensively use and reuse the Application Programming Interfaces (APIs) to faster the dev...
Large language models (LLMs) can synthesize code from natural language descriptions or by completing...
AbstractOne of today's challenges is producing reliable software in the face of an increasing number...
This paper is a theoretical study of a practical problem: the automatic generation of Java Fluent AP...
Many libraries have been used in the software project. With the increasing number of libraries used ...
Current verification condition (VC) generation algorithms, such as weakest preconditions, yield a VC...