More about HKUST
The Effects of Deploying Design Patterns for Software Changes
The Hong Kong University of Science and Technology Department of Computer Science and Engineering PhD Thesis Defence Title: "The Effects of Deploying Design Patterns for Software Changes" By Mr. Tsz-Hin Ng Abstract Object design patterns are popular to manage software changes. While they are claimed to reduce coupling and increase flexibility, they are also criticized to increase the complexity of software structure. With such co-existing competing forces, is pre-deploying design patterns useful to guide maintainers to complete a change? This question is challenging because on the performance of maintainers, the effects of whether design patterns are pre-deployed are naturally intertwined with that of maintainers' experience and skills. We empirically investigate this question in two phases. In the first phase, we investigate how likely the maintainers will utilize the deployed design patterns. We have conducted a study of maintainers completing different kinds of changes on different pattern-deployed programs. Our results show that the utilization rate of deployed design patterns can be 100%. In average cases, that rate in correct programs is significantly higher than that in faulty programs. This suggests that those maintainers who successfully completed changes tend to utilize deployed design patterns. While only changes facilitated by design patterns were studied in the first phase, we also studied changes without the facilitation of pre-deployed design patterns in the second phase. We studied two finer questions. First, to correctly complete a change, does pre-deploying design patterns lead to faster maintenance than not? If so, would this factor be more important than maintainers' experience and skills? We conducted a controlled experiment that studies the performance of maintainers in completing three perfective changes under various factors: whether design patterns are pre-deployed, amount of prior exposures to the program, and familiarity with the relevant programming language. Our results show that while the factors are individually significant, they are closely related. In particular, pre-deploying design patterns is comparably important to hiring experienced or skillful maintainers for fast completion of a change. Date: Monday, 4 August 2008 Time: 10:00a.m.-12:00noon Venue: Room 3501 Lifts 25-26 Chairman: Prof. Chung-Yee Lee (IELM) Committee Members: Prof. Shing-Chi Cheung (Supervisor) Prof. Zonghua Gu Prof. Frederick Lochovsky Prof. Danny Tsang (ECE) Prof. Hareton Leung (Computing, PolyU) **** ALL are Welcome ****