VLDB 2026 Research / reviewers in the wild / expert
Will Snipes
dblp:34/4128
· DBLP profile ↗
15ranked-venue papers
6as first author
0since 2021 · last 2018
0000-0001-5862-1289ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 14 · 6 first-authorHuman-computer interaction and ubiquitous computing · 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
6 papers |
Software maintenance and evolution · 40% Empirical software engineering · 33% Requirements engineering and software design · 13% | |
| Human-computer interaction and pervasive computing
2 papers |
Ubiquitous computing and smart environments · 81% Collaborative and social computing · 12% Games and playful interaction · 7% |
Topics — the 15 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Empirical software engineering
developer studies |
0.6 | 3 | 2015 | A Field Study on Fostering Structural Navigation with Prodet · ICSE (2) 2015 Developers' code context models for change tasks · SIGSOFT FSE 2014 Towards recognizing and rewarding efficient developer work patterns · ICSE 2013 |
Software maintenance and evolution › program comprehension
code navigation |
0.4 | 2 | 2015 | A Field Study on Fostering Structural Navigation with Prodet · ICSE (2) 2015 Developers' code context models for change tasks · SIGSOFT FSE 2014 |
Software maintenance and evolution
program comprehension |
0.4 | 2 | 2015 | A Field Study on Fostering Structural Navigation with Prodet · ICSE (2) 2015 Developers' code context models for change tasks · SIGSOFT FSE 2014 |
Requirements engineering and software design › software architecture
software architecture analysis |
0.3 | 1 | 2018 | Experiences applying automated architecture analysis tool suites · ASE 2018 |
Ubiquitous computing and smart environments › pervasive displays
ambient display |
0.3 | 1 | 2017 | Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight · CHI 2017 |
Empirical software engineering › developer studies › developer behavior
developer work practices |
0.2 | 1 | 2013 | Towards recognizing and rewarding efficient developer work patterns · ICSE 2013 |
Empirical software engineering › software engineering research methodology
industrial case study |
0.1 | 1 | 2018 | Experiences applying automated architecture analysis tool suites · ASE 2018 |
Collaborative and social computing
workplace collaboration |
0.1 | 1 | 2017 | Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight · CHI 2017 |
Software testing › software reliability
failure prediction |
0.1 | 1 | 2008 | Predicting failures with developer networks and social network analysis · SIGSOFT FSE 2008 |
Software testing
software reliability |
0.1 | 1 | 2008 | Predicting failures with developer networks and social network analysis · SIGSOFT FSE 2008 |
Software maintenance and evolution › program comprehension
software visualization |
0.1 | 1 | 2015 | A Field Study on Fostering Structural Navigation with Prodet · ICSE (2) 2015 |
Software maintenance and evolution › software quality assurance › defect analysis
defect classification |
0.1 | 1 | 2006 | On the Value of Static Analysis for Fault Detection in Software · IEEE Trans. Software Eng. 2006 |
Software testing
fault detection |
0.1 | 1 | 2006 | On the Value of Static Analysis for Fault Detection in Software · IEEE Trans. Software Eng. 2006 |
Program analysis
static analysis |
0.1 | 1 | 2006 | On the Value of Static Analysis for Fault Detection in Software · IEEE Trans. Software Eng. 2006 |
Software maintenance and evolution
change tasks |
0.1 | 1 | 2014 | Developers' code context models for change tasks · SIGSOFT FSE 2014 |
Methods — techniques the papers use, named apart from their topics
field study · 0.5gamification · 0.3architecture analysis tool suite · 0.3exploratory study · 0.2empirical analysis · 0.2social network analysis · 0.1regression modeling · 0.1statistical analysis · 0.1orthogonal defect classification · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | A Case Study of the Effects of Architecture Debt on Software Evolution EffortabstractIn large-scale software systems, the majority of defective files are architecturally connected, and the architecture connections usually exhibit design flaws, which are associated with higher change-proneness among files and higher maintenance costs. As software evolves with bug fixes, new features, or improvements, unresolved architecture design flaws can contribute to maintenance difficulties. The impact on effort due to architecture design flaws has been difficult to quantify and justify. In this paper, we conducted a case study where we identified flawed architecture relations and quantified their effects on maintenance activities. Using data from this project's source code and revision history, we identified file groups where files are architecturally connected and participated in flawed architecture designs, quantified the maintenance activities in the detected files, and assessed the penalty related to these files. Will Snipes, Sunil Karlekar, Ran Mo |
SEAA | 1 |
| 2018 | A proposed sizing model for managing 3rd party code technical debtabstractCommercial software development projects frequently build code on third-party components. However, depending on third-party code requires that projects keep current with the latest version of each component. When projects do not stay current, they begin to incur a form of technical debt where API calls that have been deprecated remain in the code base. At some point, projects must upgrade the third-party component to remain on a supported version of the component. Then the projects incur the cost of paying down the debt that was built up over time. The model described herein intends to estimate the cost of paying down the debt for aging third-party components. Will Snipes, Srini Ramaswamy |
TechDebt@ICSE | 1 |
| 2018 | Experiences applying automated architecture analysis tool suitesabstractIn this paper, we report our experiences of applying three complementary automated software architecture analysis techniques, supported by a tool suite, called DV8, to 8 industrial projects within a large company. DV8 includes two state-of-the-art architecture-level maintainability metrics—Decoupling Level and Propagation Cost, an architecture flaw detection tool, and an architecture root detection tool. We collected development process data from the project teams as input to these tools, reported the results back to the practitioners, and followed up with telephone conferences and interviews. Our experiences revealed that the metrics scores, quantitative debt analysis, and architecture flaw visualization can effectively bridge the gap between management and development, help them decide if, when, and where to refactor. In particular, the metrics scores, compared against industrial benchmarks, faithfully reflected the practitioners’ intuitions about the maintainability of their projects, and enabled them to better understand the maintainability relative to other projects internal to their company, and to other industrial products. The automatically detected architecture flaws and roots enabled the practitioners to precisely pinpoint, visualize, and quantify the “hotspots" within the systems that are responsible for high maintenance costs. Except for the two smallest projects for which both architecture metrics indicated high maintainability, all other projects are planning or have already begun refactorings to address the problems detected by our analyses. We are working on further automating the tool chain, and transforming the analysis suite into deployable services accessible by all projects within the company. Ran Mo, Will Snipes, Yuanfang Cai, Srini Ramaswamy, Rick Kazman, Martin Naedele |
ASE | 2 |
| 2017 | Reducing Interruptions at Work: A Large-Scale Field Study of FlowLightabstractDue to the high number and cost of interruptions at work, several approaches have been suggested to reduce this cost for knowledge workers. These approaches predominantly focus either on a manual and physical indicator, such as headphones or a closed office door, or on the automatic measure of a worker's interruptibilty in combination with a computer-based indicator. Little is known about the combination of a physical indicator with an automatic interruptibility measure and its long-term impact in the workplace. In our research, we developed the FlowLight, that combines a physical traffic-light like LED with an automatic interruptibility measure based on computer interaction data. In a large-scale and long-term field study with 449 participants from 12 countries, we found, amongst other results, that the FlowLight reduced the interruptions of participants by 46%, increased their awareness on the potential disruptiveness of interruptions and most participants never stopped using it. Manuela Züger, Christopher S. Corley, André N. Meyer, Boyang Li 0002, Thomas Fritz 0001, David C. Shepherd, Vinay Augustine, Patrick Francis, Nicholas A. Kraft, Will Snipes |
CHI | 10 |
| 2016 | Improving Code Maintainability: A Case Study on the Impact of RefactoringabstractIt is a fact that a lot of software is written by people without a formal education in software engineering. As an example, material scientists often capture their knowledge in the form of simulation software that contains sophisticated algorithms representing complex physical concepts. Since software engineering is typically not a core skill of these scientists, there is a risk that their software becomes unmaintainable once it reaches a substantial size or structural complexity. This paper reports on a case study in which software engineers consulted magnetics researchers in refactoring their simulation software. This software had grown to 30 kloc of Java and was considered unmaintainable by the stakeholders of the research project. The case study describes the process of refactoring a system under the guidance of a software engineer with results supported by static analysis and software metrics. It shows how software engineers evaluated and selected refactorings to apply to the system using their expert judgment with input from static analysis tools and discusses the outcome of refactoring as evaluated by code owners and reported via static analysis metrics. Michael Wahler, Uwe Drofenik, Will Snipes |
ICSME | 3 |
| 2016 | A case study of program comprehension effort and technical debt estimationsabstractThis paper describes a case study of using developer activity logs as indicators of a program comprehension effort by analyzing temporal sequences of developer actions (e.g., navigation and edit actions). We analyze developer activity data spanning 109,065 events and 69 hours of work on a medium-sized industrial application. We examine potential correlations between different measures of developer activity, code change metrics and code smells to gain insight into questions that could direct future technical debt interest estimation. To gain more insights into the data, we follow our analysis with commit message analysis and a developer interview. Our results indicate that developer activity as an estimate of program comprehension effort is correlated with both change proneness and static metrics for code smells. Vallary Singh, Lori L. Pollock, Will Snipes, Nicholas A. Kraft |
ICPC | 3 |
| 2015 | A Field Study on Fostering Structural Navigation with ProdetabstractPast studies show that developers who navigate code in a structural manner complete tasks faster and more correctly than those whose behavior is more opportunistic. The goal of this work is to move professional developers towards more effective program comprehension and maintenance habits by providing an approach that fosters structural code navigation. To this end, we created a Visual Studio plugin called Prodet that integrates an always-on navigable visualization of the most contextually relevant portions of the call graph. We evaluated the effectiveness of our approach by deploying it in a six week field study with professional software developers. The study results show a statistically significant increase in developers' use of structural navigation after installing Prodet. The results also show that developers continuously used the filtered and navigable call graph over the three week period in which it was deployed in production. These results indicate the maturity and value of our approach to increase developers' effectiveness in a practical and professional environment. Vinay Augustine, Patrick Francis, Xiao Qu, David C. Shepherd, Will Snipes, Christoph Bräunlich, Thomas Fritz 0001 |
ICSE (2) | 5 |
| 2014 | Developers' code context models for change tasksabstractTo complete a change task, software developers spend a substantial amount of time navigating code to understand the relevant parts. During this investigation phase, they implicitly build context models of the elements and relations that are relevant to the task. Through an exploratory study with twelve developers completing change tasks in three open source systems, we identified important characteristics of these context models and how they are created. In a second empirical analysis, we further examined our findings on data collected from eighty developers working on a variety of change tasks on open and closed source projects. Our studies uncovered, amongst other results, that code context models are highly connected, structurally and lexically, that developers start tasks using a combination of search and navigation and that code navigation varies substantially across developers. Based on these findings we identify and discuss design requirements to better support developers in the initial creation of code context models. We believe this work represents a substantial step in better understanding developers' code navigation and providing better tool support that will reduce time and effort needed for change tasks. Thomas Fritz 0001, David C. Shepherd, Katja Kevic, Will Snipes, Christoph Bräunlich |
SIGSOFT FSE | 4 |
| 2013 | Towards recognizing and rewarding efficient developer work patternsabstractSoftware engineering researchers develop great techniques consisting of practices and tools that improve efficiency and quality of software development. Prior work evaluates developers' use of techniques such as Test-Driven-Development and refactoring by measuring actions in the development environment. What we still lack is a method to communicate effectively and motivate developers to adopt best practices and tools. This work proposes a game-like system to motivate adoption while continuously measuring developers' use of more efficient development techniques. Will Snipes, Vinay Augustine, Anil R. Nair, Emerson R. Murphy-Hill |
ICSE | 1 |
| 2011 | Code Hot Spot: A tool for extraction and analysis of code change historyabstractCommercial software development teams have limited time available to focus on improvements to their software. These teams need a way to quickly identify areas of the source code that would benefit from improvement, as well as quantifiable data to defend the selected improvements to management. Past research has shown that mining configuration management systems for change information can be useful in determining faulty areas of the code. We present a tool named Code Hot Spot, which mines change records out of Microsoft's TFS configuration management system and creates a report of hot spots. Hot spots are contiguous areas of the code that have higher values of metrics that are indicators of faulty code. We present a study where we use this tool to study projects at ABB to determine areas that need improvement. The resulting data have been used to prioritize areas for additional code reviews and unit testing, as well as identifying change prone areas in need of refactoring. Will Snipes, Brian P. Robinson, Emerson R. Murphy-Hill |
ICSM | 1 |
| 2009 | Approximating Deployment Metrics to Predict Field Defects and Plan Corrective Maintenance ActivitiesabstractCorrective maintenance activities are a common cause of schedule delays in software development projects. Organizations frequently fail to properly plan the effort required to fix field defects. This study aims to provide relevant guidance to software development organizations on planning for these corrective maintenance activities by correlating metrics that are available prior to release with parameters of the selected software reliability model that has historically best fit the product's field defect data. Many organizations do not have adequate historical data, especially historical deployment and field usage information. The study identifies a set of metrics calculable from available data to approximate these missing predictor categories. Two key metrics estimable prior to release surfaced with potentially useful correlations, (1) the number of periods until the next release and (2) the peak deployment percentage. Finally, these metrics were used in a case study to plan corrective maintenance efforts on current development releases. Will Snipes, Brian P. Robinson, Penelope A. Brooks |
ISSRE | 1 |
| 2008 | Predicting failures with developer networks and social network analysisabstractSoftware fails and fixing it is expensive. Research in failure prediction has been highly successful at modeling software failures. Few models, however, consider the key cause of failures in software: people. Understanding the structure of developer collaboration could explain a lot about the reliability of the final product. We examine this collaboration structure with the developer network derived from code churn information that can predict failures at the file level. We conducted a case study involving a mature Nortel networking product of over three million lines of code. Failure prediction models were developed using test and post-release failure data from two releases, then validated against a subsequent release. One model's prioritization revealed 58% of the failures in 20% of the files compared with the optimal prioritization that would have found 61% in 20% of the files, indicating that a significant correlation exists between file-based developer network metrics and failures. Andrew Meneely, Laurie A. Williams, Will Snipes, Jason A. Osborne |
SIGSOFT FSE | 3 |
| 2006 | On the Value of Static Analysis for Fault Detection in SoftwareabstractNo single software fault-detection technique is capable of addressing all fault-detection concerns. Similarly to software reviews and testing, static analysis tools (or automated static analysis) can be used to remove defects prior to release of a software product. To determine to what extent automated static analysis can help in the economic production of a high-quality product, we have analyzed static analysis faults and test and customer-reported failures for three large-scale industrial software systems developed at Nortel Networks. The data indicate that automated static analysis is an affordable means of software fault detection. Using the orthogonal defect classification scheme, we found that automated static analysis is effective at identifying assignment and checking faults, allowing the later software production phases to focus on more complex, functional, and algorithmic faults. A majority of the defects found by automated static analysis appear to be produced by a few key types of programmer errors and some of these types have the potential to cause security vulnerabilities. Statistical analysis results indicate the number of automated static analysis faults can be effective for identifying problem modules. Our results indicate static analysis tools are complementary to other fault-detection techniques for the economic production of a high-quality software product. Jiang Zheng 0001, Laurie A. Williams, Nachiappan Nagappan, Will Snipes, John P. Hudepohl, Mladen A. Vouk |
IEEE Trans. Software Eng. | 4 |
| 2005 | Designing an SRE Program for Commercial Software OrganizationsabstractTo maximize business value, commercial software organizations need to apply software reliability engineering (SRE) using a distributed model where key practices are performed by different roles in the organization. SRE practitioners need to understand the landscape of software development in order to define a program that is effective at moving the organization towards higher reliability Will Snipes, John P. Hudepohl |
ISSRE | 1 |
| 2004 | Preliminary Results On Using Static Analysis Tools For Software InspectionabstractSoftware inspection has been shown to be an effective defect removal practice, leading to higher quality software with lower field failures. Automated software inspection tools are emerging for identifying a subset of defects in a less labor-intensive manner than manual inspection. This paper investigates the use of automated inspection for a large-scale industrial software system at Nortel Networks. We propose and utilize a defect classification scheme for enumerating the types of defects that can be identified by automated inspections. Additionally, we demonstrate that automated code inspection faults can be used as efficient predictors of field failures and are effective for identifying fault-prone modules. Nachiappan Nagappan, Laurie A. Williams, John P. Hudepohl, Will Snipes, Mladen A. Vouk |
ISSRE | 4 |