William B. Frakes
Virginia Tech
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by William B. Frakes.
IEEE Transactions on Software Engineering | 2005
William B. Frakes; Kyo Kang
This paper briefly summarizes software reuse research, discusses major research contributions and unsolved problems, provides pointers to key publications, and introduces four papers selected from The Eighth International Conference on Software Reuse (ICSR8).
ACM Computing Surveys | 1996
William B. Frakes; Carol Terry
As organizations implement systematic software reuse programs to improve productivity and quality, they must be able to measure their progress and identify the most effective reuse strategies. This is done with reuse metrics and models. In this article we survey metrics and models of software reuse and reusability, and provide a classification structure that will help users select them. Six types of metrics and models are reviewed: cost-benefit models, maturity assessment models, amount of reuse metrics, failure modes models, reusability assessment models, and reuse library metrics.
european software engineering conference | 1994
William B. Frakes; Thomas P. Pole
An empirical study of methods for representing reusable software components is described. Thirty-five subjects searched for reusable components in a database of UNIX tools using four different representation methods: attribute-value, enumerated, faceted, and keyword. The study used Proteus, a reuse library system that supports multiple representation methods. Searching effectiveness was measured with recall, precision, and overlap. Search time for the four methods was also compared. Subjects rated the methods in terms of preference and helpfulness in understanding components. Some principles for constructing reuse libraries. Based on the results of this study, are discussed. >
IEEE Software | 1994
William B. Frakes; Sadahiro Isoda
Systematic software reuse is a paradigm shift in software engineering from building single systems to building families of related systems. The goal of software reuse research is to discover systematic procedures for engineering new systems from existing assets. Implementing systematic reuse is risky. Not doing it is also risky. Trying systematic reuse unsuccessfully can cost precious time and resources and may make management sceptical of trying it again. But if your competitors do it successfully and you do not, you may lose market share and possibly an entire market. There is no cookbook solution-each organization must analyze its own needs, implement reuse measurements, define the key benefits it expects, identify and remove impediments, and manage risk. Reliable data on how much this costs and the benefits an organization will derive are insufficient. The article addresses issues from management, measurement, law, economics, libraries, and the design of reusable software.<<ETX>>
Communications of The ACM | 1995
William B. Frakes; Christopher J. Fox
Software reuse is the use of existing software knowledge or artifacts to build new software artifacts. Reuse is sometimes confused with porting. The two are distinguished as follows: Reuse is using an asset in different systems; porting is moving a system across environments or platforms. For example, in Figure 1 a component in System A is shown used again in System B; this is an example of reuse. System A, developed for Environment 1, is shown moved into Environment 2; this is an example of porting.
Annals of Software Engineering | 1998
William B. Frakes; Ruben Prieto-Diaz; Christopher J. Fox
DARE (Domain Analysis and Reuse Environment) is a CASE tool that supports domain analysis – the activity of identifying and documenting the commonalities and variabilities in related software systems. DARE supports the capture of domain information from experts, documents, and code in a domain. Captured domain information is stored in a domain book that will typically contain a generic architecture for the domain and domain-;specific reusable components.
international acm sigir conference on research and development in information retrieval | 1986
William B. Frakes; Brian A. Nejmeh
There is widespread need for safe, verifiable, efficient, and reliable software that can be delivered in a timely manner. Software reuse can make a valuable contrbution toward this goal by increasing programmer productivity and software quality. Unfortunately, the amount of software reuse currently done is quite small. DeMarco [1] estimates that in the average software development environment only about five percent of code is reused.
Information & Software Technology | 1990
William B. Frakes; Paul B. Gandel
Abstract Many methods for representing software components for reuse have been proposed. These include traditional library and information science methods, knowledge-based methods, and hypertext. The paper surveys and categorizes these methods, and discusses systems in which they have been used. A definition and conceptual framework of software reuse representations is proposed that relates these methods to each other and to the software life-cycle.
IEEE Transactions on Software Engineering | 1996
William B. Frakes; Christopher J. Fox
The paper presents a failure modes model of parts-based software reuse, and shows how this model can be used to evaluate and improve software reuse processes. The model and the technique are illustrated using survey data about software reuse gathered from 113 people from 29 organizations.
Journal of Systems and Software | 2001
William B. Frakes; Giancarlo Succi
Abstract The relationship between amount of reuse, quality, and productivity was studied using four sets of C and C++ modules collected from industrial organizations. The data domains are: text retrieval, user interface, distributed repository, medical records. Reuse in this paper is ad hoc, black box, compositional code reuse. The data generally show that more reuse results in higher quality, but are ambiguous regarding the relationship between amount of reuse and productivity.