Using Neural Networks to Modularize Software

Abstract

This article describes our experience with designing and using a module architecture assistant , an intelligent tool to help human software architects improve the modularity of large programs. The tool models modularization as nearest-neighbor clustering and classification, and uses the model to make recommendations for improving modularity by rearranging module membership. The tool learns similarity judgments that match those of the human architect by performing back propagation on a specialized neural network. The tool's classifier outperformed other classifiers, both in learning and generalization, on a modest but realistic data set. The architecture assistant significantly improved its performance during a field trial on a larger data set, through a combination of learning and knowledge acquisition.

Cite

Text

Schwanke and Hanson. "Using Neural Networks to Modularize Software." Machine Learning, 1994. doi:10.1007/BF00993275

Markdown

[Schwanke and Hanson. "Using Neural Networks to Modularize Software." Machine Learning, 1994.](https://mlanthology.org/mlj/1994/schwanke1994mlj-using/) doi:10.1007/BF00993275

BibTeX

@article{schwanke1994mlj-using,
  title     = {{Using Neural Networks to Modularize Software}},
  author    = {Schwanke, Robert W. and Hanson, Stephen Jose},
  journal   = {Machine Learning},
  year      = {1994},
  pages     = {137-168},
  doi       = {10.1007/BF00993275},
  volume    = {15},
  url       = {https://mlanthology.org/mlj/1994/schwanke1994mlj-using/}
}