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

Thomas J. Ostrand

dblp:50/7016 · DBLP profile ↗
← Back
25ranked-venue papers
10as first author
0since 2021 · last 2020
—ORCID · none

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

Software engineering, systems software and programming languages · 23 · 8 first-authorTheory of computation · 2 · 2 first-authorDatabases, data management, data science and information retrieval · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 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
11 papers
Software testing · 57% Empirical software engineering · 43%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Electronic design automation · 57% Embedded and real-time systems · 43%

Topics — the 13 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering › software engineering research methodology
industrial case study
0.522020
Intermittently failing tests in the embedded systems domain · ISSTA 2020
Automating algorithms for the identification of fault-prone files · ISSTA 2007
Software testing
embedded systems testing
0.412020
Intermittently failing tests in the embedded systems domain · ISSTA 2020
Software testing
flaky test
0.412020
Intermittently failing tests in the embedded systems domain · ISSTA 2020
Software testing
test coverage
0.312018
Automated test mapping and coverage for network topologies · ISSTA 2018
Empirical software engineering
fault prediction
0.352010
Software fault prediction tool · ISSTA 2010
Looking for bugs in all the right places · ISSTA 2006
Predicting the Location and Number of Faults in Large Software Systems · IEEE Trans. Software Eng. 2005
Empirical software engineering
mining software repositories
0.242010
Software fault prediction tool · ISSTA 2010
Predicting the Location and Number of Faults in Large Software Systems · IEEE Trans. Software Eng. 2005
Where the bugs are · ISSTA 2004
Empirical software engineering › mining software repositories › defect prediction
fault-prone file prediction
0.122007
Automating algorithms for the identification of fault-prone files · ISSTA 2007
Looking for bugs in all the right places · ISSTA 2006
Electronic design automation › hardware verification and test
system-level testing
0.112020
Intermittently failing tests in the embedded systems domain · ISSTA 2020
Empirical software engineering › mining software repositories
defect prediction
0.112007
Automating algorithms for the identification of fault-prone files · ISSTA 2007
Software testing
GUI testing
0.011998
A Visual Test Development Environment for GUI Systems · ISSTA 1998
Software testing
software reliability
0.012006
Looking for bugs in all the right places · ISSTA 2006
Software testing › test adequacy
test adequacy criteria
0.011994
Experiments of the Effectiveness of Dataflow- and Controlflow-Based Test Adequacy Criteria · ICSE 1994
Software testing
test adequacy
0.011980
Theories of Program Testing and the the Application of Revealing Subdomains · IEEE Trans. Software Eng. 1980

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

test verdict classification · 0.9root cause analysis · 0.9topology matching · 0.7negative binomial regression · 0.3automated model selection · 0.1lines-of-code model · 0.1fault density analysis · 0.0case study · 0.0test design modeling · 0.0capture/replay · 0.0
YearPublicationVenuePosition
2020 Intermittently failing tests in the embedded systems domain
abstract
Software testing is sometimes plagued with intermittently failing tests and finding the root causes of such failing tests is often difficult. This problem has been widely studied at the unit testing level for open source software, but there has been far less investigation at the system test level, particularly the testing of industrial embedded systems. This paper describes our investigation of the root causes of intermittently failing tests in the embedded systems domain, with the goal of better understanding, explaining and categorizing the underlying faults. The subject of our investigation is a currently-running industrial embedded system, along with the system level testing that was performed. We devised and used a novel metric for classifying test cases as intermittent. From more than a half million test verdicts, we identified intermittently and consistently failing tests, and identified their root causes using multiple sources. We found that about 1-3% of all test cases were intermittently failing. From analysis of the case study results and related work, we identified nine factors associated with test case intermittence. We found that a fix for a consistently failing test typically removed a larger number of failures detected by other tests than a fix for an intermittent test. We also found that more effort was usually needed to identify fixes for intermittent tests than for consistent tests. An overlap between root causes leading to intermittent and consistent tests was identified. Many root causes of intermittence are the same in industrial embedded systems and open source software. However, when comparing unit testing to system level testing, especially for embedded systems, we observed that the test environment itself is often the cause of intermittence.
Per Erik Strandberg, Thomas J. Ostrand, Elaine J. Weyuker, Wasif Afzal, Daniel Sundmark
ISSTA2
2018 Automated test mapping and coverage for network topologies
abstract
Communication devices such as routers and switches play a critical role in the reliable functioning of embedded system networks. Dozens of such devices may be part of an embedded system network, and they need to be tested in conjunction with various computational elements on actual hardware, in many different configurations that are representative of actual operating networks. An individual physical network topology can be used as the basis for a test system that can execute many test cases, by identifying the part of the physical network topology that corresponds to the configuration required by each individual test case. Given a set of available test systems and a large number of test cases, the problem is to determine for each test case, which of the test systems are suitable for executing the test case, and to provide the mapping that associates the test case elements (the logical network topology) with the appropriate elements of the test system (the physical network topology).
Per Erik Strandberg, Thomas J. Ostrand, Elaine J. Weyuker, Daniel Sundmark, Wasif Afzal
ISSTA2
2016 Experience Report: Automated System Level Regression Test Prioritization Using Multiple Factors
abstract
We propose a new method of determining an effective ordering of regression test cases, and describe its implementation as an automated tool called SuiteBuilder developed by Westermo Research and Development AB. The tool generates an efficient order to run the cases in an existing test suite by using expected or observed test duration and combining priorities of multiple factors associated with test cases, including previous fault detection success, interval since last executed, and modifications to the code tested. The method and tool were developed to address problems in the traditional process of regression testing, such as lack of time to run a complete regression suite, failure to detect bugs in time, and tests that are repeatedly omitted. The tool has been integrated into the existing nightly test framework for Westermo software that runs on large-scale data communication systems. In experimental evaluation of the tool, we found significant improvement in regression testing results. The re-ordered test suites finish within the available time, the majority of fault-detecting test cases are located in the first third of the suite, no important test case is omitted, and the necessity for manual work on the suites is greatly reduced.
Per Erik Strandberg, Daniel Sundmark, Wasif Afzal, Thomas J. Ostrand, Elaine J. Weyuker
ISSRE4
2016 Automated test generation using model checking: an industrial evaluation
Eduard Paul Enoiu, Adnan Causevic, Thomas J. Ostrand, Elaine J. Weyuker, Daniel Sundmark, Paul Pettersson
Int. J. Softw. Tools Technol. Transf.3
2013 The limited impact of individual developer data on software defect prediction
Robert M. Bell, Thomas J. Ostrand, Elaine J. Weyuker
Empir. Softw. Eng.2
2012 On the use of calling structure information to improve fault prediction
Yonghee Shin, Robert M. Bell, Thomas J. Ostrand, Elaine J. Weyuker
Empir. Softw. Eng.3
2010 We're Finding Most of the Bugs, but What are We Missing?
abstract
We compare two types of model that have been used to predict software fault-proneness in the next release of a software system. Classification models make a binary prediction that a software entity such as a file or module is likely to be either faulty or not faulty in the next release. Ranking models order the entities according to their predicted number of faults. They are generally used to establish a priority for more intensive testing of the entities that occur early in the ranking. We investigate ways of assessing both classification models and ranking models, and the extent to which metrics appropriate for one type of model are also appropriate for the other. Previous work has shown that ranking models are capable of identifying relatively small sets of files that contain 75-95% of the faults detected in the next release of large legacy systems. In our studies of the rankings produced by these models, the faults not contained in the predicted most fault prone files are nearly always distributed across many of the remaining files; i.e., a single file that is in the lower portion of the ranking virtually never contains a large number of faults.
Elaine J. Weyuker, Robert M. Bell, Thomas J. Ostrand
ICST3
2010 Software fault prediction tool
abstract
We have developed an interactive tool that predicts fault likelihood for the individual files of successive releases of large, long-lived, multi-developer software systems. Predictions are the result of a two-stage process: first, the extraction of current and historical properties of the system, and second, application of a negative binomial regression model to the extracted data. The prediction model is presented to the user as a GUI-based tool that requires minimal input from the user, and delivers its output as an ordered list of the system's files together with an expected percent of faults each file will have in the release about to undergo system test. The predictions can be used to prioritize testing efforts, to plan code or design reviews, to allocate human and computer resources, and to decide if files should be rewritten.
Thomas J. Ostrand, Elaine J. Weyuker
ISSTA1
2010 Comparing the effectiveness of several modeling methods for fault prediction
Elaine J. Weyuker, Thomas J. Ostrand, Robert M. Bell
Empir. Softw. Eng.2
2009 Does calling structure information improve the accuracy of fault prediction?
abstract
Previous studies have shown that software code attributes, such as lines of source code, and history information, such as the number of code changes and the number of faults in prior releases of software, are useful for predicting where faults will occur. In this study of an industrial software system, we investigate the effectiveness of adding information about calling structure to fault prediction models. The addition of calling structure information to a model based solely on non-calling structure code attributes provided noticeable improvement in prediction accuracy, but only marginally improved the best model based on history and non-calling structure code attributes. The best model based on history and non-calling structure code attributes outperformed the best model based on calling and non-calling structure code attributes.
Yonghee Shin, Robert M. Bell, Thomas J. Ostrand, Elaine J. Weyuker
MSR3
2008 What Can Fault Prediction Do for YOU?
Elaine J. Weyuker, Thomas J. Ostrand
TAP2
2008 Do too many cooks spoil the broth? Using the number of developers to enhance defect prediction models
Elaine J. Weyuker, Thomas J. Ostrand, Robert M. Bell
Empir. Softw. Eng.2
2007 Automating algorithms for the identification of fault-prone files
abstract
This research investigates ways of predicting which files would be most likely to contain large numbers of faults in the next release of a large industrial software system. Previous work involved making predictions using several different models ranging from a simple, fully-automatable model (the LOC model) to several different variants of a negative binomial regression model that were customized for the particular software system under study. Not surprisingly, the custom models invariably predicted faults more accurately than the simple model. However, development of customized models requires substantial time and analytic effort, as well as statistical expertise. We now introduce new, more sophisticated models that yield more accurate predictions than the earlier LOC model, but which nonetheless can be fully automated. We also extend our earlier research by presenting another large-scale empirical study of the value of these prediction models, using a new industrial software system over a nine year period.
Thomas J. Ostrand, Elaine J. Weyuker, Robert M. Bell
ISSTA1
2006 Experience Developing Software Using a Globally Distributed Workforce
abstract
Industrial experience assessing the stability of a large mission-critical software project is reported. We observed that the project incurred significant additional delays in resolving the types of problems usually uncovered when assessing mission-critical software stability. We present plausible hypotheses about the possible causes of these additional delays
Alberto Avritzer, Thomas J. Ostrand, Elaine J. Weyuker
ICGSE2
2006 Looking for bugs in all the right places
abstract
We continue investigating the use of a negative binomial regression model to predict which files in a large industrial software system are most likely to contain many faults in the next release. A new empirical study is described whose subject is an automated voice response system. Not only is this system's functionality substantially different from that of the earlier systems we studied (an inventory system and a service provisioning system), it also uses a significantly different software development process. Instead of having regularly scheduled releases as both of the earlier systems did, this system has what are referred to as "continuous releases." We explore the use of three versions of the negative binomial regression model, as well as a simple lines-of-code based model, to make predictions for this system and discuss the differences observed from the earlier studies. Despite the different development process, the best version of the prediction model was able to identify, over the lifetime of the project, 20% of the system's files that contained, on average, nearly three quarters of the faults that were detected in the system's next releases.
Robert M. Bell, Thomas J. Ostrand, Elaine J. Weyuker
ISSTA2
2005 A Different View of Fault Prediction
abstract
We investigated a different mode of using the prediction model to identify the files associated with a fixed percentage of the faults. The tester could ask the tool to identify which files are likely to contain the bulks of faults, with the tester selecting any desired percentage of faults. Again the tool would return a list ordered in decreasing order of the predicted numbers of faults in the files the model expects to be most problematic. If the number of files identified is too large, the tester could reselect a smaller percentage of faults. This would make the number of files requiring particular scrutiny manageable. We expect both modes to be valuable to professional software testers and developers.
Thomas J. Ostrand, Elaine J. Weyuker, Robert M. Bell, Rachel C. W. Ostrand
COMPSAC (2)1
2005 Predicting the Location and Number of Faults in Large Software Systems
abstract
Advance knowledge of which files in the next release of a large software system are most likely to contain the largest numbers of faults can be a very valuable asset. To accomplish this, a negative binomial regression model has been developed and used to predict the expected number of faults in each file of the next release of a system. The predictions are based on the code of the file in the current release, and fault and modification history of the file from previous releases. The model has been applied to two large industrial systems, one with a history of 17 consecutive quarterly releases over 4 years, and the other with nine releases over 2 years. The predictions were quite accurate: for each release of the two systems, the 20 percent of the files with the highest predicted number of faults contained between 71 percent and 92 percent of the faults that were actually detected, with the overall average being 83 percent. The same model was also used to predict which files of the first system were likely to have the highest fault densities (faults per KLOC). In this case, the 20 percent of the files with the highest predicted fault densities contained an average of 62 percent of the system's detected faults. However, the identified files contained a much smaller percentage of the code mass than the files selected to maximize the numbers of faults. The model was also used to make predictions from a much smaller input set that only contained fault data from integration testing and later. The prediction was again very accurate, identifying files that contained from 71 percent to 93 percent of the faults, with the average being 84 percent. Finally, a highly simplified version of the predictor selected files containing, on average, 73 percent and 74 percent of the faults for the two systems.
Thomas J. Ostrand, Elaine J. Weyuker, Robert M. Bell
IEEE Trans. Software Eng.1
2004 Where the bugs are
abstract
The ability to predict which files in a large software system are most likely to contain the largest numbers of faults in the next release can be a very valuable asset. To accomplish this, a negative binomial regression model using information from previous releases has been developed and used to predict the numbers of faults for a large industrial inventory system. The files of each release were sorted in descending order based on the predicted number of faults and then the first 20% of the files were selected. This was done for each of fifteen consecutive releases, representing more than four years of field usage. The predictions were extremely accurate, correctly selecting files that contained between 71% and 92% of the faults, with the overall average being 83%. In addition, the same model was used on data for the same system's releases, but with all fault data prior to integration testing removed. The prediction was again very accurate, ranging from 71% to 93%, with the average being 84%. Predictions were made for a second system, and again the first 20% of files accounted for 83% of the identified faults. Finally, a highly simplified predictor was considered which correctly predicted 73% and 74% of the faults for the two systems.
Thomas J. Ostrand, Elaine J. Weyuker, Robert M. Bell
ISSTA1
2002 The distirubtion of faults in a large industrial software system
abstract
A case study is presented using thirteen releases of a large industrial inventory tracking system. Several types of questions are addressed in this study. The first involved examining how faults are distributed over the different files. This included making a distinction between the release during which they were discovered, the lifecycle stage at which they were first detected, and the severity of the fault. The second category of questions we considered involved studying how the size of modules affected their fault density. This included looking at questions like whether or not files with high fault densities at early stages of the lifecycle also had high fault densities during later stages. A third type of question we considered was whether files that contained large numbers of faults during early stages of development, also had large numbers of faults during later stages, and whether faultiness persisted from release to release. Finally, we examined whether newly written files were more fault-prone than ones that were written for earlier releases of the product. The ultimate goal of this study is to help identify characteristics of files that can be used as predictors of fault-proneness, thereby helping organizations determine how best to use their testing resources.
Thomas J. Ostrand, Elaine J. Weyuker
ISSTA1
1998 A Visual Test Development Environment for GUI Systems
abstract
We have implemented an experimental test development environment (TDE) intended to raise the effectiveness of tests produced for GUI systems, and raise the productivity of the GUI system tester.The environment links a test designer, a test design library, and a test generation engine with a standard commercial capture/replay tool. These components provide a human tester the capabilities to capture sequences of interactions with the system under test (SUT), to visually manipulate and modify the sequences, and to create test designs that represent multiple individual test sequences. Test development is done using a high-level model of the SUT's GUI, and graphical representations of test designs. TDE performs certain test maintenance tasks automatically, permitting previously written test scripts to run on a revised version of the SUT.
Thomas J. Ostrand, Aaron Anodide, Herbert Foster, Tarak Goradia
ISSTA1
1994 Experiments of the Effectiveness of Dataflow- and Controlflow-Based Test Adequacy Criteria
Monica Hutchins, Herbert Foster, Tarak Goradia, Thomas J. Ostrand
ICSE4
1984 Collecting and categorizing software error data in an industrial environment
Thomas J. Ostrand, Elaine J. Weyuker
J. Syst. Softw.1
1981 Parsing Regular Grammars with Finite Lookahead
Thomas J. Ostrand, Marvin C. Paull, Elaine J. Weyuker
Acta Informatica1
1980 Theories of Program Testing and the the Application of Revealing Subdomains
abstract
The theory of test data selection proposed by Goodenough and Gerhart is examined. In order to extend and refine this theory, the concepts of a revealing test criterion and a revealing subdomain are proposed. These notions are then used to provide a basis for constructing program tests.
Elaine J. Weyuker, Thomas J. Ostrand
IEEE Trans. Software Eng.2
1971 Pattern Reproduction in Tessellation Automata of Arbitrary Dimension
Thomas J. Ostrand
J. Comput. Syst. Sci.1