Title
Graph-based detection of library API imitations
Abstract
It has been a common practice nowadays to employ third-party libraries in software projects. Software libraries encapsulate a large number of useful, well-tested and robust functions, so that they can help improve programmers' productivity and program quality. To interact with libraries, programmers only need to invoke Application Programming Interfaces (APIs) exported from libraries. However, programmers do not always use libraries as effectively as expected in their application development. One commonly observed phenomenon is that some library behaviors are re-implemented by client code. Such re-implementation, or imitation, is not just a waste of resource and energy, but its failure to abstract away similar code also tends to make software error-prone. In this paper, we propose a novel approach based on trace subsumption relation of data dependency graphs to detect imitations of library APIs for achieving better software maintainability. Furthermore, we have implemented a prototype of this approach and applied it to ten large real-world open-source projects. The experiments show 313 imitations of explicitly imported libraries with high precision average of 82%, and 116 imitations of static libraries with precision average of 75%.
Year
DOI
Venue
2011
10.1109/ICSM.2011.6080785
ICSM
Keywords
Field
DocType
application programming interface,software library,software project,program quality,library api imitation,application program interfaces,software maintainability,programmer productivity,data dependency graphs,software error-prone,large number,software maintenance,high precision average,client code,third-party libraries,graph-based detection,library apis,large real-world open-source project,software libraries,better software maintainability,library behavior,cloning,indexes
Programming language,Software engineering,Software analytics,Computer science,Software development process,Application programming interface,Software visualization,Software construction,Software quality,Software framework,Software development
Conference
ISSN
ISBN
Citations 
1063-6773 E-ISBN : 978-1-4577-0662-2
978-1-4577-0662-2
2
PageRank 
References 
Authors
0.38
11
3
Name
Order
Citations
PageRank
Chengnian Sun174922.97
Siau-cheng Khoo2101650.74
Shao Jie Zhang3564.71