Software development relies heavily on reusable libraries and software components. For correct use of the provided API, proper documentation is needed. API usage is often demonstrated by giving example applications and code samples. In this paper we propose an approach for mining such usage scenarios from run-time communication between sample applications and the API. This is done automatically by first monitoring the API usage of sample applications, then filtering the generated traces, and finally synthesizing the sequence diagrams and illustrating them in a well-formed way as UML2 sequence diagrams. Such usage scenarios support the software engineer in comprehending the usage of the API. With proper tool support they can also be used for validating other applications' API usage and for generating code for a new application using the same API.
Abstract. In today's business and software arena, more and more companies are adopting open source software. An example of this rising phenomenon is to base software products on highly reusable open source components. In this scenario, the evolution of the software product is coupled with the evolution of the open source component. A common assumption is that component updates are immediately and regularly propagated to the project. This paper investigates this assumption empirically by studying update propagation practices in two popular open source libraries, zlib and FFmpeg. For each library, we analyze various repository sources with information such as bug reports, revision history, and source code. The results of the case studies suggest that update propagation is subject to several technical and non-technical factors including the way the open source library is used, the extent to which updates are documented, and the degree of community involvement. Based on these findings, we propose a set of recommendations that would allow better follow-up of updates and smoother update propagation.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.