which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. API protocols specify correct sequences of method invocations. Despite their usefulness, API protocols are often unavailable in practice because writing them is cumbersome and error prone.Multiple object API protocols aremore expressive than single object API protocols. However, the huge number of objects of typical object-oriented programs poses a major challenge to the automatic mining of multiple object API protocols: besides maintaining scalability, it is important to capture various object interactions. Current approaches utilize various heuristics to focus on small sets ofmethods. In this paper, we present a gene...
Component-based software design is a popular and effective approach to designing large systems. Whil...
Establishing API mappings between third-party libraries is a prerequisite step for library migration...
Abstract-Developers often release different versions of their applications to support various platfo...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
An active area of research in computer science is the prevention of violations of object protocols, ...
Software components expose Application Programming Interfaces (APIs) as a means to access their func...
Application Programming Interfaces (APIs) often define object protocols. Objects with protocols have...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
API libraries are becoming increasingly popular in modern software industries because these librarie...
API libraries are becoming increasingly popular in mod-ern software industries because these librari...
Transforming programs between two APIs or different versions of the same API is a common software en...
Manual migration of a large software project is a tedious, timeconsuming, and error-prone task. Towa...
Software frameworks define generic application blueprints which can be instantiated into an applicat...
Component-based software design is a popular and effective approach to designing large systems. Whil...
Establishing API mappings between third-party libraries is a prerequisite step for library migration...
Abstract-Developers often release different versions of their applications to support various platfo...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
An active area of research in computer science is the prevention of violations of object protocols, ...
Software components expose Application Programming Interfaces (APIs) as a means to access their func...
Application Programming Interfaces (APIs) often define object protocols. Objects with protocols have...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
API libraries are becoming increasingly popular in modern software industries because these librarie...
API libraries are becoming increasingly popular in mod-ern software industries because these librari...
Transforming programs between two APIs or different versions of the same API is a common software en...
Manual migration of a large software project is a tedious, timeconsuming, and error-prone task. Towa...
Software frameworks define generic application blueprints which can be instantiated into an applicat...
Component-based software design is a popular and effective approach to designing large systems. Whil...
Establishing API mappings between third-party libraries is a prerequisite step for library migration...
Abstract-Developers often release different versions of their applications to support various platfo...