An empirical study of the effects of modularity on adaptive program maintenance (enhancing, adding, or changing existing features) is reported by the authors. The study provides evidence that a modular program can be modified faster than a nonmodular version of the program when one of the following conditions holds: (1) modularity has been used to implement information hiding; (2) existing modules in a program perform generic operations, some of which can be used in a modification; or (3) a significant understanding of, and changes to, the existing code are required for performing a modification. The study provides evidence that modifications other than those described above are unaided by modularity. The work also indicates that modularity offers no benefit when a modification requires additions that are spread throughout the source code.
The authors’ research utilizes experienced professional programmers or advanced computer science students; the same subject is tested with modular and monolithic material in different experiments. They propose further research examining the levels of modularity, the effect of modularity on program development time, and the likelihood of errors.