Skip to Main content Skip to Navigation
Reports

Analysis and Exploitation of Natural Software Diversity: The Case of API Usages

Abstract : In this paper, we study how object-oriented classes are used across thousands of software packages. We concentrate on "usage diversity", defined as the different statically observable combinations of methods called on the same object. We present empirical evidence that there is a significant usage diversity for many classes. For instance, we observe in our dataset that Java's String is used in 2460 manners. Beyond those empirical observations, we show that we can use this API usage diversity to reason on the core design of object-oriented classes. We think that our pieces of evidence on API usage diversity shake up some established ideas on the nature of software and how to engineer it. Hence, we discuss those empirical results in the general context of software engineering: what are the reasons behind this diversity? what are the implications of this diversity?
Document type :
Reports
Complete list of metadatas

Cited literature [22 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-01095501
Contributor : Martin Monperrus <>
Submitted on : Monday, December 15, 2014 - 4:45:51 PM
Last modification on : Friday, March 6, 2020 - 1:17:36 AM
Document(s) archivé(s) le : Saturday, April 15, 2017 - 8:41:25 AM

File

analysis-exploitation-api-dive...
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01095501, version 1

Citation

Diego Mendez, Benoit Baudry, Martin Monperrus. Analysis and Exploitation of Natural Software Diversity: The Case of API Usages. [Research Report] hal-01095501, Inria. 2014. ⟨hal-01095501⟩

Share

Metrics

Record views

1462

Files downloads

285