Barbara Unger-Lamprecht

Learn More
ÐSoftware design patterns package proven solutions to recurring design problems in a form that simplifies reuse. We are seeking empirical evidence whether using design patterns is beneficial. In particular, one may prefer using a design pattern even if the actual design problem is simpler than that solved by the pattern, i.e., if not all of the(More)
ÐUsing design patterns is claimed to improve programmer productivity and software quality. Such improvements may manifest both at construction time (in faster and better program design) and at maintenance time (in faster and more accurate program comprehension). This paper focuses on the maintenance context and reports on experimental tests of the following(More)
In two controlled experiments we compare the performance on code maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. Daly et al. previously reported similar experiments on the same(More)
ÐThe Personal Software Process is a process improvement methodology aimed at individual software engineers. It claims to improve software quality (in particular defect content), effort estimation capability, and process adaptation and improvement capabilities. We have tested some of these claims in an experiment comparing the performance of participants who(More)
Advocates of software design patterns claim that using design patterns improves communication between software developers. The controlled experiment that we describe in this report tests the hypotheses that software maintainers of well-structured, well-documented software containing design patterns can make changes (1) faster and (2) with less errors if the(More)
Inheritance is one of the main concepts of object-oriented technology. It is claimed that the use of inheritance improves productivity and decreases development time. John Daly et al. reported on two experiments evaluating the effects of inheritance depth on program maintenance. They found that maintenance was performed significantly quicker for software(More)
The Personal Software Process (PSP) is a methodology for systematic and continuous improvement of an individual software engineer's software production capabilities. The proponents of the PSP claim that the PSP methods improve in particular the program quality and the capability for accurate estimation of the development time, but do not impair(More)
The present report is a follow-up to our report on an experiment for investigating the eeects from Personal Software Process (PSP) training 1]. It uses the work time data from the experiment plus several simplifying assumptions in order to assess by stochastic simulation how much a reduction in the performance variability of individual programmers might(More)
One of the main advantages claimed for software design patterns is improved team communication. This paper reports on an experiment that tests this hypothesis. Team communication among pairs of designers with and without design pattern knowledge is observed in a maintenance setting and analyzed by protocol analysis. The results indicate that shared pattern(More)
  • 1