skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · events · thesis defenses · 2000-2001 · 

Thesis Defense - Ye

ECOT 831

Supporting Component-Based Software Development with Active Component Repository Systems
Yunwen Ye
Computer Science PhD Candidate

It is widely believed and empirically proven that component reuse can improve both the quality and productivity of software development. Before software components are reused, however, they must be located. Component repository systems provide a means to locate software components. Current component repository systems are designed to support the paradigm of development-with-reuse, which views reuse as a process independent from the whole software development process and relies on programmers to take the reuse initiative. Such systems fall short in supporting programmers who make no attempt to reuse because they do not know the existence of reusable components or they perceive reuse costs more than programming from scratch.

This dissertation advocates a paradigm from development-with-reuse to reuse-within-development, which views reuse as an integral part of software development, and component repository systems as information systems that augment programmers' insufficient knowledge about reusable components and assist them in accomplishing their tasks. Active component repository systems -- component repository systems equipped with active information delivery mechanisms -- support reuse-within-development. They can be seamlessly integrated with programming environments. Through this integration, their active information delivery mechanism delivers task-relevant and user-specific components, without being given explicit reuse queries, to help programmers reuse unknown components and to reduce the cost of reuse.

An active component repository system, CodeBroker, has been developed and evaluated. CodeBroker runs continuously in the background of a programming environment and infers programmers' needs for reusable components by monitoring their interactions with the environment. Potentially reusable components that match reuse queries extracted from comments and signatures in the programming environment are autonomously located and actively delivered to programmers. Formal evaluations of the CodeBroker system have indicated that it motivated programmers to reuse once relevant components were delivered, and that it was able to deliver components relevant to both the task and the background knowledge of programmers.

Committee: Gerhard Fischer, Professor (Chair)
Kenneth Anderson, Assistant Professor
Walter Kintsch, Department of Psychology
James Martin, Associate Professor
Kumiyo Nakakoji, Adjunct Research Associate
Brent Reeves, TwinBear Research

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (13:40)