Retrieving and Ranking Relevant JavaScript Technologies from Web Repositories
The selection of software technologies is an important but complex task. We
consider developers of JavaScript (JS) applications, for whom the assessment of
JS libraries has become difficult and time-consuming due to the growing number
of technology options available. A common strategy is to browse software
repositories via search engines (e.g., NPM, or Google), although it brings some
problems. First, given a technology need, the engines might return a long list
of results, which often causes information overload issues. Second, the results
should be ranked according to criteria of interest for the developer. However,
deciding how to weight these criteria to make a decision is not
straightforward. In this work, we propose a two-phase approach for assisting
developers to retrieve and rank JS technologies in a semi-automated fashion.
The first-phase (ST-Retrieval) uses a meta-search technique for collecting JS
technologies that meet the developer's needs. The second-phase (called
ST-Rank), relies on a machine learning technique to infer, based on criteria
used by other projects in the Web, a ranking of the output of ST-Retrieval. We
evaluated our approach with NPM and obtained satisfactory results in terms of
the accuracy of the technologies retrieved and the order in which they were
ranked.