Public Repository

Last pushed: 2 years ago
Short Description
ChangeAdvisor is an approach to recommend source code changes for mobile apps based on user reviews.
Full Description

What is ChangeAdvisor?

Researchers have proposed several approaches to automatically extract information from user reviews useful for maintaining and evolving mobile apps. However, most of these approaches just perform automatic classification of user reviews according to specific keywords (e.g., bugs, features, etc.). Moreover, they do not provide any support for linking user feedback to the source code components to be changed, thus requiring a manual time consuming and error-prone task. ChangeAdvisor is a novel approach that analyzes the structure and the semantics of the sentences contained in user reviews to extract feedback and recommend software artifacts changes. It relies on natural language processing and clustering algorithms in order to group user reviews around similar user needs and suggestions for change. Then, it involves textual based heuristics to determine the code artifacts that need to be maintained according to the recommended software changes.

How to use this image

docker run --rm --volume <host data directory>:/data/ changeadvisor/changeadvisor <app name> /data/<source code directory> /data/<reviews file>

This prototype allows to replicate the experiment we conducted with the provided dataset, but also to apply the approach to any given app data (i.e., reviews and source code).

In order to start the process you need to:

  • Make a host directory with the input data that will be mounted to the /data/ directory of the container
  • Put the source code directory inside the host directory
  • Put a plain text file with the reviews (a review per line) inside the host directory

The output will be located to /data/output/<app name> containing:

  • The data resulting from each intermediate step
  • The created user feedback clusters
  • The links between source code components and user feedback clusters with the assigned strength


ChangeAdvisor is licensed under the terms of the Apache License, version 2.0.

Docker Pull Command