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...
Many libraries have been used in the software project. With the increasing number of libraries used ...
Typically, software libraries provide API documentation, through which developers can learn how to u...
API libraries are becoming increasingly popular in mod-ern software industries because these librari...
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 ...
API libraries are becoming increasingly popular in modern software industries because these librarie...
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...
Libraries are the most widespreaded form of software reuse. In order to properly use a library API, ...
The reliability and correctness of complex software systems can be significantly enhanced through we...
Software reliability is a primary concern in the construction of software, and thus a fundamental co...
VeriFast is a sound modular formal Verification tool for C and Java programs. It accepts programs an...
Web APIs are being used for increasingly larger and complex use cases. Right now it can be hard to m...
Many libraries have been used in the software project. With the increasing number of libraries used ...
Typically, software libraries provide API documentation, through which developers can learn how to u...
API libraries are becoming increasingly popular in mod-ern software industries because these librari...
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 ...
API libraries are becoming increasingly popular in modern software industries because these librarie...
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...
Libraries are the most widespreaded form of software reuse. In order to properly use a library API, ...
The reliability and correctness of complex software systems can be significantly enhanced through we...
Software reliability is a primary concern in the construction of software, and thus a fundamental co...
VeriFast is a sound modular formal Verification tool for C and Java programs. It accepts programs an...
Web APIs are being used for increasingly larger and complex use cases. Right now it can be hard to m...
Many libraries have been used in the software project. With the increasing number of libraries used ...
Typically, software libraries provide API documentation, through which developers can learn how to u...
API libraries are becoming increasingly popular in mod-ern software industries because these librari...