Computing Reviews

Coherent clusters in source code
Islam S., Krinke J., Binkley D., Harman M. Journal of Systems and Software881-24,2014.Type:Article
Date Reviewed: 05/14/14

A cluster is a collection of program statements, each member of which depends on all the other members. (One of the ways a statement can depend on another statement is when it uses a variable set by the other statement.) This paper describes an experiment designed to answer a number of interesting questions about clusters, including how large clusters are in practice, what program structure cluster analysis can reveal, and how stable clusters are during system evolution.

The background section provides an excellent overview of dependence analysis, and precise definitions of the clusters of interest. It reviews the tools and techniques that the authors used to obtain, analyze, and visualize their experimental data. The experiment itself is carefully described, with clear research questions to be answered. After summarizing the data and addressing specific analysis questions, the authors present the results in detail and draw their conclusions. There are sections on related and future work, and an extensive bibliography.

I found this paper to be clear, although it demanded careful reading to understand the finer points of the analysis. The results were interesting, and generally confirmed my intuitions. Cluster sizes were larger than I would have expected, and the clusters revealed some interesting gross structures in the programs analyzed.

Reviewer:  W. M. Waite Review #: CR142276 (1408-0652)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy