—Large frameworks and libraries require extensive developer learning resources, such as documentation and mailing lists, to be useful. Maintaining these learning resources is cha...
Abstract. Software clustering techniques are useful for extracting architectural information about a system directly from its source code structure. This paper starts by examining ...
Software repositories are rich sources of information about the software development process. Mining the information stored in them has been shown to provide interesting insights ...
Reusing software components (e.g. classes or modules) improves software quality and developer’s productivity. Unfortunately, developers may miss many reusing opportunities since...
Most current software systems contain undocumented high-level ideas implemented across multiple files and modules. When developers perform program maintenance tasks, they often wa...
David Shepherd, Zachary P. Fry, Emily Hill, Lori L...