Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Richard W. Selby

dblp:47/3137 · DBLP profile ↗
← Back
15ranked-venue papers
10as first author
0since 2021 · last 2005
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 15 · 10 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
10 papers
Empirical software engineering · 66% Software testing · 14% Software maintenance and evolution · 10%
Databases, data mining, and information retrieval
1 paper
Database system architecture and tuning · 100%

Topics — the 18 heaviest of 22, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
mining software repositories
0.112005
Enabling Reuse-Based Software Development of Large-Scale Systems · IEEE Trans. Software Eng. 2005
Empirical software engineering
software metrics
0.052005
Enabling Reuse-Based Software Development of Large-Scale Systems · IEEE Trans. Software Eng. 2005
Analyzing Error-Prone System Structure · IEEE Trans. Software Eng. 1991
Metric-Driven Analysis and Feedback Systems for Enabling Empirically Guided Software Development · ICSE 1991
Software maintenance and evolution
software reuse
0.012005
Enabling Reuse-Based Software Development of Large-Scale Systems · IEEE Trans. Software Eng. 2005
Empirical software engineering
software effort estimation
0.021988
Learning from Examples: Generation and Evaluation of Decision Trees for Software Resource Analysis · IEEE Trans. Software Eng. 1988
Metric Analysis and Data Validation Across Fortran Projects · IEEE Trans. Software Eng. 1983
Software testing › black-box testing
functional testing
0.011987
Comparing the Effectiveness of Software Testing Strategies · IEEE Trans. Software Eng. 1987
Software testing › test coverage › code coverage
statement coverage
0.011987
Comparing the Effectiveness of Software Testing Strategies · IEEE Trans. Software Eng. 1987
Software testing
statistical testing
0.011987
Cleanroom Software Development: An Empirical Evaluation · IEEE Trans. Software Eng. 1987
Software testing
structural testing
0.011987
Comparing the Effectiveness of Software Testing Strategies · IEEE Trans. Software Eng. 1987
Empirical software engineering
experimental methodology
0.011986
Experimentation in Software Engineering · IEEE Trans. Software Eng. 1986
Empirical software engineering › software metrics
software metrics validation
0.011983
Metric Analysis and Data Validation Across Fortran Projects · IEEE Trans. Software Eng. 1983
Debugging and program repair
fault localization
0.011991
Analyzing Error-Prone System Structure · IEEE Trans. Software Eng. 1991
Requirements engineering and software design
software architecture
0.011991
Analyzing Error-Prone System Structure · IEEE Trans. Software Eng. 1991
Machine learning › Kernel, tree and ensemble methods
decision tree
0.011988
Learning from Examples: Generation and Evaluation of Decision Trees for Software Resource Analysis · IEEE Trans. Software Eng. 1988
Empirical software engineering
controlled experiment
0.011987
Comparing the Effectiveness of Software Testing Strategies · IEEE Trans. Software Eng. 1987
Empirical software engineering
developer studies
0.011987
Cleanroom Software Development: An Empirical Evaluation · IEEE Trans. Software Eng. 1987
Requirements engineering and software design
formal specification
0.011987
Cleanroom Software Development: An Empirical Evaluation · IEEE Trans. Software Eng. 1987
Empirical software engineering
software engineering research methodology
0.011986
Experimentation in Software Engineering · IEEE Trans. Software Eng. 1986
Requirements engineering and software design
data validation
0.011983
Metric Analysis and Data Validation Across Fortran Projects · IEEE Trans. Software Eng. 1983

Methods — techniques the papers use, named apart from their topics

nonparametric statistics · 0.1fault rate analysis · 0.1decision tree learning · 0.0classification · 0.0software metrics · 0.0nonparametric analysis of variance · 0.0data bindings · 0.0clustering · 0.0fractional factorial experimental design · 0.0code reading by stepwise abstraction · 0.0
YearPublicationVenuePosition
2005 Enabling Reuse-Based Software Development of Large-Scale Systems
abstract
Software reuse enables developers to leverage past accomplishments and facilitates significant improvements in software productivity and quality. Software reuse catalyzes improvements in productivity by avoiding redevelopment and improvements in quality by incorporating components whose reliability has already been established. This study addresses a pivotal research issue that underlies software reuse - what factors characterize successful software reuse in large-scale systems. The research approach is to investigate, analyze, and evaluate software reuse empirically by mining software repositories from a NASA software development environment that actively reuses software. This software environment successfully follows principles of reuse-based software development in order to achieve an average reuse of 32 percent per project, which is the average amount of software either reused or modified from previous systems. We examine the repositories for 25 software systems ranging from 3,000 to 112,000 source lines from this software environment. We analyze four classes of software modules: modules reused without revision, modules reused with slight revision (<25 percent revision), modules reused with major revision (/spl ges/25 percent revision), and newly developed modules. We apply nonparametric statistical models to compare numerous development variables across the 2,954 software modules in the systems. We identify two categories of factors that characterize successful reuse-based software development of large-scale systems: module design factors and module implementation factors. We also evaluate the fault rates of the reused, modified, and newly developed modules. The module design factors that characterize module reuse without revision were (after normalization by size in source lines): few calls to other system modules, many calls to utility functions, few input-output parameters, few reads and writes, and many comments. The module implementation factors that characterize module reuse without revision were small size in source lines and (after normalization by size in source lines): low development effort and many assignment statements. The modules reused without revision had the fewest faults, fewest faults per source line, and lowest fault correction effort. The modules reused with major revision had the highest fault correction effort and highest fault isolation effort as wed as the most changes, most changes per source line, and highest change correction effort. In conclusion, we outline future research directions that build on these software reuse ideas and strategies.
Richard W. Selby
IEEE Trans. Software Eng.1
1997 Platforms for Software Execution: Databases vs. Operating Systems vs. Browsers (Panel)
Richard W. Selby
ICSE1
1993 Interconnectivity analysis techniques for error localization in large systems
Richard W. Selby
J. Syst. Softw.1
1992 Guest Editorial Introduction: Special Issue on Software Measurement Principles, Techniques, and Environment
Richard W. Selby, Koji Torii
IEEE Trans. Software Eng.1
1991 Metric-Driven Analysis and Feedback Systems for Enabling Empirically Guided Software Development
Richard W. Selby, Adam A. Porter, Douglas C. Schmidt, Jim Berney
ICSE1
1991 Analyzing Error-Prone System Structure
abstract
Using measures of data interaction called data bindings, the authors quantify ratios of coupling and strength in software systems and use the ratios to identify error-prone system structures. A 148000 source line system from a prediction environment was selected for empirical analysis. Software error data were collected from high-level system design through system testing and from field operation of the system. The authors use a set of five tools to calculate the data bindings automatically and use a clustering technique to determine a hierarchical description of each of the system's 77 subsystems. A nonparametric analysis of variance model is used to characterize subsystems and individual routines that had either many or few errors or high or low error correction effort. The empirical results support the effectiveness of the data bindings clustering approach for localizing error-prone system structure.>
Richard W. Selby, Victor R. Basili
IEEE Trans. Software Eng.1
1990 Evaluating techniques for generating metric-based classification trees
Adam A. Porter, Richard W. Selby
J. Syst. Softw.2
1989 Software metric classification trees help guide the maintenance of large-scale systems
abstract
The 80:20 rule states that approximately 20% of a software system is responsible for 80% of its errors. The authors propose an automated method for generating empirically-based models of error-prone software objects. These models are intended to help localize the troublesome 20%. The method uses a recursive algorithm to automatically generate classification trees whose nodes are multivalued functions based on software metrics. The purpose of the classification trees is to identify components that are likely to be error prone or costly, so that developers can focus their resources accordingly. A feasibility study was conducted using 16 NASA projects. On average, the classification trees correctly identified 79.3% of the software modules that had high development effort or faults.>
Richard W. Selby, Adam A. Porter
ICSM1
1988 Error localization during software maintenance: generating hierarchical system descriptions from the source code alone
abstract
An empirical study is presented that investigates hierarchical software system descriptions that are based on measures of cohesion and coupling. The study evaluates the effectiveness of the hierarchical descriptions in identifying error-prone system structure. The measurement of cohesion and coupling is based on intrasystem interaction in terms of software data bindings. The measurement of error-proneness is based on software error data collected from high-level system design through system test; some error data from system operation are also included. The data bindings software analysis and supporting tools are described, followed by the data analysis, interpretations of the results, and some conclusions.>
Richard W. Selby, Victor R. Basili
ICSM1
1988 Learning from Examples: Generation and Evaluation of Decision Trees for Software Resource Analysis
abstract
A general solution method for the automatic generation of decision (or classification) trees is investigated. The approach is to provide insights through in-depth empirical characterization and evaluation of decision trees for one problem domain, specifically, that of software resource data analysis. The purpose of the decision trees is to identify classes of objects (software modules) that had high development effort, i.e. in the uppermost quartile relative to past data. Sixteen software systems ranging from 3000 to 112000 source lines have been selected for analysis from a NASA production environment. The collection and analysis of 74 attributes (or metrics), for over 4700 objects, capture a multitude of information about the objects: development effort, faults, changes, design style, and implementation style. A total of 9600 decision trees are automatically generated and evaluated. The analysis focuses on the characterization and evaluation of decision tree accuracy, complexity, and composition. The decision trees correctly identified 79.3% of the software modules that had high development effort or faults, on the average across all 9600 trees. The decision trees generated from the best parameter combinations correctly identified 88.4% of the modules on the average. Visualization of the results is emphasized, and sample decision trees are included.>
Richard W. Selby, Adam A. Porter
IEEE Trans. Software Eng.1
1987 Comparing the Effectiveness of Software Testing Strategies
abstract
This study applies an experimentation methodology to compare three state-of-the-practice software testing techniques: a) code reading by stepwise abstraction, b) functional testing using equivalence partitioning and boundary value analysis, and c) structural testing using 100 percent statement coverage criteria. The study compares the strategies in three aspects of software testing: fault detection effectiveness, fault detection cost, and classes of faults detected. Thirty-two professional programmers and 42 advanced students applied the three techniques to four unit-sized programs in a fractional factorial experimental design. The major results of this study are the following. 1) With the professional programmers, code reading detected more software faults and had a higher fault detection rate than did functional or structural testing, while functional testing detected more faults than did structural testing, but functional and structural testing were not different in fault detection rate. 2) In one advanced student subject group, code reading and functional testing were not different in faults found, but were both superior to structural testing, while in the other advanced student subject group there was no difference among the techniques. 3) With the advanced student subjects, the three techniques were not different in fault detection rate. 4) Number of faults observed, fault detection rate, and total effort in detection depended on the type of software tested. 5) Code reading detected more interface faults than did the other methods. 6) Functional testing detected more control faults than did the other methods.
Victor R. Basili, Richard W. Selby
IEEE Trans. Software Eng.2
1987 Cleanroom Software Development: An Empirical Evaluation
abstract
The Cleanroom software development approach is intended to produce highly reliable software by integrating formal methods for specification and design, nonexecution-based program development, and statistically based independent testing. In an empirical study, 15 three-person teams developed versions of the same software system (800-2300 source lines); ten teams applied Cleanroom, while five applied a more traditional approach. This analysis characterizes the effect of Cleanroom on the delivered product, the software development process, and the developers.
Richard W. Selby, Victor R. Basili, F. Terry Baker
IEEE Trans. Software Eng.1
1986 Experimentation in Software Engineering
abstract
A framework is presented for analyzing most of the experimental work performed in software engineering over the past several years. The framework of experimentation consists of four categories corresponding to phases of the experimentation process: definition, planning, operation, and interpretation. A variety of experiments are described within the framework and their contribution to the software engineering discipline is discussed. Some recommendations for the application of the experimental process in software engineering are included.
Victor R. Basili, Richard W. Selby, David H. Hutchens
IEEE Trans. Software Eng.2
1985 Calculation and Use of an Environment's Characteristic Software Metric Set
Victor R. Basili, Richard W. Selby
ICSE2
1983 Metric Analysis and Data Validation Across Fortran Projects
abstract
The desire to predict the effort in developing or explain the quality of software has led to the proposal of several metrics in the literature. As a step toward validating these metrics, the Software Engineering Laboratory has analyzed the Software Science metrics, cyclomatic complexity, and various standard program measures for their relation to 1) effort (including design through acceptance testing), 2) development errors (both discrete and weighted according to the amount of time to locate and frix), and 3) one another. The data investigated are collected from a production Fortran environment and examined across several projects at once, within individual projects and by individual programmers across projects, with three effort reporting accuracy checks demonstrating the need to validate a database. When the data come from individual programmers or certain validated projects, the metrics' correlations with actual effort seem to be strongest. For modules developed entirely by individual programmers, the validity ratios induce a statistically significant ordering of several of the metrics' correlations. When comparing the strongest correlations, neither Software Science's E metric, cyclomatic complexity nor source lines of code appears to relate convincingly better with effort than the others
Victor R. Basili, Richard W. Selby, Tsai-Yun Phillips
IEEE Trans. Software Eng.2