Using Neural Networks to Modularize Software

  • Authors:
  • Robert W. Schwanke;Stephen José Hanson

  • Affiliations:
  • Siemens Corporate Research, Princeton, NJ 08540;Siemens Corporate Research, Princeton, NJ 08540

  • Venue:
  • Machine Learning - Special issue on structured connectionist systems
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

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.