Augmenting Library Development by Mining Usage Data from Downstream Dependencies

Christoph Thiede, Willy Scheibel, Daniel Limberger, Jürgen Döllner

2022

Abstract

Software and its dependencies build up a graph where edges connect packages with their dependencies. In this graph, downstream dependencies are all the nodes that depend on a package of interest. Although gathering and mining such downstream dependencies allow for informed decision-making for a package developer, there is much room for improvement, such as automation and integration of this approach into their development process. This paper makes two contributions: (i) We propose an approach for efficiently gathering downstream dependencies of a single package and extracting usage samples from them using a static type analyzer. (ii) We present a tool that allows npm package developers to survey the aggregated usage data directly in their IDE in an interactive and context-sensitive way. We evaluate the approach and the tool on a selection of open source projects and specific development-related questions with respect to found downstream dependencies, gathering speed, and required storage. Our methods return over 8 000 downstream dependencies for popular packages and process about 12 dependencies per minute. The usage sample extraction offers high precision for basic use cases. The main limitations are the exclusion of unpopular and closed-source downstream dependencies as well as failing analysis when encountering complex build configurations or metaprogramming patterns. To summarize, we show that the tool supports package developers in gathering usage data and surveying the use of their packages and APIs within their downstream dependencies, allowing for informed decision-making.

Download


Paper Citation


in Harvard Style

Thiede C., Scheibel W., Limberger D. and Döllner J. (2022). Augmenting Library Development by Mining Usage Data from Downstream Dependencies. In Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-568-5, pages 221-232. DOI: 10.5220/0011093700003176


in Bibtex Style

@conference{enase22,
author={Christoph Thiede and Willy Scheibel and Daniel Limberger and Jürgen Döllner},
title={Augmenting Library Development by Mining Usage Data from Downstream Dependencies},
booktitle={Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2022},
pages={221-232},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0011093700003176},
isbn={978-989-758-568-5},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Augmenting Library Development by Mining Usage Data from Downstream Dependencies
SN - 978-989-758-568-5
AU - Thiede C.
AU - Scheibel W.
AU - Limberger D.
AU - Döllner J.
PY - 2022
SP - 221
EP - 232
DO - 10.5220/0011093700003176