VLDB 2026 Research / reviewers in the wild / expert
Robert W. Bowdidge
dblp:99/4455
· DBLP profile ↗
8ranked-venue papers
3as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-authorSystems, architecture and hardware · 1
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
6 papers |
Program analysis · 37% Empirical software engineering · 34% Software maintenance and evolution · 27% | |
| Human-computer interaction and pervasive computing
1 paper |
User interface design and tools · 100% |
Topics — the 13 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution › build systems
build failure analysis |
0.2 | 1 | 2014 | Programmers' build errors: a case study (at google) · ICSE 2014 |
Empirical software engineering
mining software repositories |
0.2 | 1 | 2014 | Programmers' build errors: a case study (at google) · ICSE 2014 |
Empirical software engineering
developer studies |
0.2 | 1 | 2013 | Why don't software developers use static analysis tools to find bugs? · ICSE 2013 |
Program analysis
static analysis |
0.2 | 1 | 2013 | Why don't software developers use static analysis tools to find bugs? · ICSE 2013 |
Program analysis › static analysis
static analysis tool adoption |
0.2 | 1 | 2013 | Why don't software developers use static analysis tools to find bugs? · ICSE 2013 |
Program analysis › static analysis
bug detection |
0.0 | 1 | 2013 | Why don't software developers use static analysis tools to find bugs? · ICSE 2013 |
Software maintenance and evolution › software reengineering
program restructuring |
0.0 | 3 | 1998 | Supporting the Restructuring of Data Abstractions Through Manipulation of a Program Visualization · ACM Trans. Softw. Eng. Methodol. 1998 Tool Support for Planning the Restructuring of Data Abstractions in Large Systems · SIGSOFT FSE 1996 Automated Support for Encapsulating Abstract Data Types · SIGSOFT FSE 1994 |
Software maintenance and evolution › software reengineering
software restructuring |
0.0 | 1 | 1998 | Tool Support for Planning the Restructuring of Data Abstractions in Large Systems · IEEE Trans. Software Eng. 1998 |
Software maintenance and evolution
refactoring |
0.0 | 1 | 1994 | Automated Support for Encapsulating Abstract Data Types · SIGSOFT FSE 1994 |
Compilers and program optimization › program transformation
semantics-preserving transformation |
0.0 | 1 | 1994 | Automated Support for Encapsulating Abstract Data Types · SIGSOFT FSE 1994 |
Software maintenance and evolution
program comprehension |
0.0 | 1 | 1998 | Tool Support for Planning the Restructuring of Data Abstractions in Large Systems · IEEE Trans. Software Eng. 1998 |
Software maintenance and evolution › program comprehension
software visualization |
0.0 | 1 | 1996 | Tool Support for Planning the Restructuring of Data Abstractions in Large Systems · SIGSOFT FSE 1996 |
User interface design and tools › visualization
program visualization |
0.0 | 1 | 1994 | Automated Support for Encapsulating Abstract Data Types · SIGSOFT FSE 1994 |
Methods — techniques the papers use, named apart from their topics
empirical study · 0.2build log analysis · 0.2interviews · 0.2programmer study · 0.0program visualization · 0.0direct manipulation · 0.0star diagram · 0.0measurement · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Programmers' build errors: a case study (at google)abstractBuilding is an integral part of the software development process. However, little is known about the compiler errors that occur in this process. In this paper, we present an empirical study of 26.6 million builds produced during a period of nine months by thousands of developers. We describe the workflow through which those builds are generated, and we analyze failure frequency, compiler error types, and resolution efforts to fix those compiler errors. The results provide insights on how a large organization build process works, and pinpoints errors for which further developer support would be most effective. Hyunmin Seo, Caitlin Sadowski, Sebastian G. Elbaum, Edward Aftandilian, Robert W. Bowdidge |
ICSE | 5 |
| 2013 | Why don't software developers use static analysis tools to find bugs?abstractUsing static analysis tools for automating code inspections can be beneficial for software engineers. Such tools can make finding bugs, or software defects, faster and cheaper than manual inspections. Despite the benefits of using static analysis tools to find bugs, research suggests that these tools are underused. In this paper, we investigate why developers are not widely using static analysis tools and how current tools could potentially be improved. We conducted interviews with 20 developers and found that although all of our participants felt that use is beneficial, false positives and the way in which the warnings are presented, among other things, are barriers to use. We discuss several implications of these results, such as the need for an interactive mechanism to help developers fix defects. Brittany Johnson, Yoonki Song, Emerson R. Murphy-Hill, Robert W. Bowdidge |
ICSE | 4 |
| 1998 | Supporting the Restructuring of Data Abstractions Through Manipulation of a Program VisualizationabstractWith a meaning-preserving restructuring tool, a software engineer can change a program's structure to ease future modifications. However, deciding how to restructure the program requires a global understanding of the program's structure, which cannot be derived easily by directly inspecting the source code. We describe a manipulable program visualization—thestar diagram—that supports the restructuring task of encapsulating a global data structure. The star diagram graphically displays information pertinent to encapsulation, and direct manipulation of the diagram causes the underlying program to be restructured. The visualization compactly presents all statements in the program that use the given global data structure, helping the programmer to choose the functions that completely encapsulate it. Additionally, the visualization elides code unrelated to the data structure and to the task and collapses similar expressions to help the programmer identify frequently occurring code fragments and manipulate them together. The visualization is mapped directly to the program text, so manipulation of the visualization also restructures the program. We present the star diagram concept and describe an implementation of the star diagram built upon a meaning-preserving restructuring tool for Scheme. We also describe our creation of star diagram generators for C programs, and we test the scalability of the star diagram using large C and MUMPS programs. Robert W. Bowdidge, William G. Griswold |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 1998 | Tool Support for Planning the Restructuring of Data Abstractions in Large SystemsabstractRestructuring software to improve its design can lower software maintenance costs. One problem encountered during restructuring is formulating the new design. A meaning-preserving program restructuring tool with a star diagram manipulable visualization can help a programmer redesign a program based on abstract data types. However, the transformational support required for meaning-preserving restructuring is costly to provide. Also, programmers encounter comprehension and recall difficulties in complex restructuring tasks. Consequently, transformations were replaced with visual and organizational aids that help a programmer to plan and carry out a complex restructuring. For example, a star diagram manipulation called trimming was added, which mimics the way that basic restructuring transformations affect the star diagram display, allowing a programmer to plan a restructuring without depending upon restructuring transformations. With the ability to annotate trimmed star diagram components, plans can be recorded and later recalled. Programmer-controlled elision was added to help remove clutter from star diagram views. We implemented a star diagram planning tool for C programs, measured its elision capabilities, and performed a programmer study. We found that elision is effective in controlling star diagram size, and the study revealed that each programming team successfully planned its restructuring in rather different, unanticipated ways. These experiments resulted in important improvements in the tool's software design and user interface. William G. Griswold, Morison I. Chen, Robert W. Bowdidge, Jenny L. Cabaniss, Van B. Nguyen, J. David Morgenthaler |
IEEE Trans. Software Eng. | 3 |
| 1997 | How Software Engineering Tools Organize Programmer Behavior During the Task of Data Encapsulation
Robert W. Bowdidge, William G. Griswold |
Empir. Softw. Eng. | 1 |
| 1996 | Tool Support for Planning the Restructuring of Data Abstractions in Large SystemsabstractRestructuring software to improve its design can lower software maintenance costs. One problem in carrying out such a restructuring is planning the new detailed design. The star diagram manipulable visualization can help a programmer redesign a program based on abstract data types. However, our measurements revealed that the view can be too large for a programmer to effectively assimilate. Also, design plans can be expressed only by restructuring, although our studies revealed that it is beneficial to preplan a restructuring. Finally, the tool user can build a star diagram for only a single data structure, although an abstract data type might actually have several components or have multiple instantiations.Exploiting basic properties of the star diagram can mitigate these problems. First, programmer-controlled elision can remove clutter from the star diagram view. Second, elision and annotation of star diagram components can mimic restructuring, thereby supporting the planning of a restructuring. Such support also allows for the planning of a non-restructuring maintenance task. Finally, to dynamically control what data structures are visualized, the tool user can union star diagrams.We built a star diagram planning tool for C programs, measured its elision capabilities, and performed a programmer study for the encapsulation of a widely-used data structure in a 28,000 line program. We found that the amount of elision can be substantial, but is not always adequate. In the study we found that each programming team successfully planned their restructuring in rather different, unanticipated ways. William G. Griswold, Morison I. Chen, Robert W. Bowdidge, J. David Morgenthaler |
SIGSOFT FSE | 3 |
| 1994 | Automated Support for Encapsulating Abstract Data TypesabstractA software engineer can use a meaning-preserving program restructuring tool during maintenance to change a program's structure to ease modification. One common restructuring action is to create a new abstract data type by encapsulating an existing data structure. Data encapsulation simplifies modification by isolating changes to the implementation and behavior of an abstract data type. To perform encapsulation, a programmer must understand how the data structure is used in the code, identify abstract operations performed on the data structure, and choose concrete expressions to be made into functions. We provide a manipulable program visualization, called the star diagram, that both highlights information partinent to encapsulation and supports the application of meaning-preserving restructuring transformations on the program through a direct-manipulation user interface. The visualization graphically and compactly presents all statements in the program that use the given global data structure, helping the programmer to choose the functions that completely encapsulate it. Additionally, the visualization elides code unrelated to the data structure and to the task, and collapses similar expressions to allow the programmer to identify frequently occurring code fragments and manipulate them together. The visualization is mapped directly to the program text, so manipulation of the visualization also restructures the program. We describe the design, implementation, and application of the star diagram, and evaluate its ability to assist data encapsulation in large programs. Robert W. Bowdidge, William G. Griswold |
SIGSOFT FSE | 1 |
| 1990 | Low-Cost Comparisons of File CopiesabstractThe author present a file comparison scheme in which the signatures of individual pages are compared by means of a supersignature calculated from the individual page signature. A supersignature is obtained as a power series in a primitive root within the Galois field with 2/sup n/ elements. The coefficients are the signatures of the individual pages. With this scheme errors, such as missing, altered, or incorrectly placed pages, can be detected with the very probability, and an error diagnosis can be found if discrepancies are detected.> Thomas J. E. Schwarz, Robert W. Bowdidge, Walter A. Burkhard |
ICDCS | 2 |