by Carliss Baldwin, Alan MacCormack, and John Rusnak
This paper by Alan and Carliss (with John Rusnak) describe a methodology for characterizing the architecture of software systems and demonstrate it using a sample 1,286 software releases. This methodology is based upon network graphs, which allow us to identify linkages between the components in a system and reason about modularity, abstraction layers, API’s etc. System properties are shown to vary widely between systems, even when different systems perform the same function. These differences seem to arise from differences in the design and development process, and the type of organization building them.