DocumentCode
2085592
Title
Design patterns and change proneness: an examination of five evolving systems
Author
Bieman, James M. ; Straw, Greg ; Wang, Huxia ; Munger, P. Willard ; Alexander, Roger T.
Author_Institution
Dept. of Comput. Sci., Colorado State Univ., Fort Collins, CO, USA
fYear
2003
fDate
3-5 Sept. 2003
Firstpage
40
Lastpage
49
Abstract
Design patterns are recognized, named solutions to common design problems. The use of the most commonly referenced design patterns should promote adaptable and reusable program code. When a system evolves, changes to code involving a design pattern should, in theory, consist of creating new concrete classes that are extensions or subclasses of previously existing classes. Changes should not, in theory, involve direct modifications to the classes in prior versions that play roles in a design patterns. We studied five systems, three proprietary systems and two open source systems, to identify the observable effects of the use of design patterns in early versions on changes that occur as the systems evolve. In four of the five systems, pattern classes are more rather than less change prone. Pattern classes in one of the systems were less change prone. These results held up after normalizing for the effect of class size - larger classes are more change prone in two of the five systems. These results provide insight into how design patterns are actually used, and should help us to learn to develop software designs that are more easily adapted.
Keywords
object-oriented programming; open systems; software architecture; software development management; software maintenance; software metrics; software reusability; concrete class creation; direct class modification; object-oriented method; open source system; pattern class; proprietary system; reusable program code; software adaptability; software design pattern; software evolution; software maintainability; software size measurement; Computer science; Concrete; Educational institutions; Laboratories; Pattern analysis; Pattern recognition; Programming; Size measurement; Software design; Software maintenance;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Metrics Symposium, 2003. Proceedings. Ninth International
ISSN
1530-1435
Print_ISBN
0-7695-1987-3
Type
conf
DOI
10.1109/METRIC.2003.1232454
Filename
1232454
Link To Document