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.