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.

David Sheldon

dblp:12/4791 · DBLP profile ↗
← Back
7ranked-venue papers
5as first author
1since 2021 · last 2021
—ORCID · none

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

Systems, architecture and hardware · 5 · 5 first-authorArtificial intelligence and machine learning · 2 · 1 since 2021Software engineering, systems software and programming languages · 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.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Electronic design automation · 56% Reconfigurable computing and FPGAs · 32% Performance modeling and evaluation · 11%

Topics — the 5 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Electronic design automation
design space exploration
0.112009
Making good points: application-specific pareto-point generation for design space exploration using statistical methods · FPGA 2009
Reconfigurable computing and FPGAs › FPGA implementation
FPGA circuit design
0.112008
A pipelined binary tree as a case study on designing efficient circuits for an FPGA in a bram aware design · FPGA 2008
Performance modeling and evaluation
design trade-off analysis
0.012009
Making good points: application-specific pareto-point generation for design space exploration using statistical methods · FPGA 2009
Electronic design automation › high-level synthesis › memory synthesis
memory partitioning
0.012008
A pipelined binary tree as a case study on designing efficient circuits for an FPGA in a bram aware design · FPGA 2008
Electronic design automation
physical design
0.012008
A pipelined binary tree as a case study on designing efficient circuits for an FPGA in a bram aware design · FPGA 2008

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

statistical methods · 0.1design of experiments · 0.1architecture redesign · 0.1
YearPublicationVenuePosition
2021 Principal Component Analysis and Entropy-based Selection for the Improvement of Bug Triage
abstract
With ever-larger scales of modern technology companies, it is necessary to be able to assign bugs found within organizations in a manner that is automated, accurate, and time efficient. Hence, an implementation of a bug triage, the process by which you assign bug cases, feature requests, and improvements to appropriate individuals and/or teams, has become a focus of many organizations. In this paper, we present, to the best of our knowledge, a novel data processing routine that has empirically shown to improve the baseline accuracy of various elementary classifiers. In most bug reports, there are discrete features, such as the nature of the bug and software environment details, and there are non-discrete features such as fluid error messages, comments, requests, etc. We perform principal component analysis on the one-hot encoded discrete features. Whereas, for the non-discrete features, we first use standard Natural Language Processing techniques to parse and tokenize the text and then employ a greedy variant of entropy-based keyword extraction. Moreover, we make use of a heuristic combination of the contributors (contribution weighted labeling) which is converted into a probability mass function, signifying the probability of assigning a case to a given individual. The results of such processing are profound, achieving state-of-the-art top-k accuracy. With the application of such data processing, our experiments show an average increase of 15% and 14%-points for team and developer assignments, respectively. Overall, we achieve Top-1 accuracy of 79%, Top-5 accuracy of 87%, and Top-10 accuracy of 90% for team assignments. As for developer assignments, we observe Top-1 accuracy of 54%, Top-5 accuracy of 63%, and Top-10 accuracy of 67%. These results were validated on a proprietary data set containing 257 teams and 2204 developers and show significant improvement in comparison to a previous study by our research group [1].
Vaskar Nath, David Sheldon, John Alphonso-Gibbs
ICMLA2
2019 A Multi-label, Dual-Output Deep Neural Network for Automated Bug Triaging
abstract
Bug tracking enables the monitoring and resolution of issues and bugs within organizations. Bug triaging, or assigning bugs to the owner(s) who will resolve them, is a critical component of this process because there are many incorrect assignments that waste developer time and reduce bug resolution throughput. In this work, we explore the use of a novel two-output deep neural network architecture (Dual DNN) for triaging a bug to both an individual team and developer, simultaneously. Dual DNN leverages this simultaneous prediction by exploiting its own guess of the team classes to aid in developer assignment. A multi-label classification approach is used for each of the two outputs to learn from all interim owners, not just the last one who closed the bug. We make use of a heuristic combination of the interim owners (owner-importance-weighted labeling) which is converted into a probability mass function (pmf). We employ a two-stage learning scheme, whereby the team portion of the model is trained first and then held static to train the team-developer and bug-developer relationships. The scheme employed to encode the team-developer relationships is based on an organizational chart (org chart), which renders the model robust to organizational changes as it can adapt to role changes within an organization. There is an observed average lift (with respect to both team and developer assignment) of 13%-points in 11-fold incremental-learning cross-validation (IL-CV) accuracy for Dual DNN utilizing owner-weighted labels compared with the traditional multi-class classification approach. Furthermore, Dual DNN with owner-weighted labels achieves average 11-fold IL-CV accuracies of 76% (team assignment) and 55% (developer assignment), outperforming reference models by 14%- and 25%-points, respectively, on a proprietary dataset with 236,865 entries.
Christopher A. Choquette-Choo, David Sheldon, Jonny Proppe, John Alphonso-Gibbs, Harsha Gupta
ICMLA2
2009 Making good points: application-specific pareto-point generation for design space exploration using statistical methods
abstract
Field-programmable gate arrays (FPGAs) commonly implement system architectures composed from soft-core configurable components, such as a cache with configurable size or associativity, a processor with configurable datapath units, or a configurable network-on-chip connecting dozens of processors. Configurable components increasingly exist even on pre-fabricated platforms. Tuning configurable components to the particular application running on the architecture and to particular design constraints represents a challenging task often left to a designer. Knowledge of the Pareto-optimal points of a system for particular applications can be of benefit to designers seeking to make appropriate design tradeoffs for given constraints. Previous methods for generating Pareto points required extensive knowledge of an architecture's parameter interdependencies, used a simplistic approach that failed to find many parameters, or used randomized search algorithms that may have long runtimes. We introduce an algorithm for finding Pareto points, based on statistically rigorous methods derived from the Design of Experiments paradigm and extended for the purpose of finding Pareto points. The resulting DoE-based Pareto point Generator, or DPG, algorithm finds thorough Pareto points while running 3 times faster than randomized search algorithms, without requiring designer knowledge of parameter interdependencies--in fact, the approach determines those interdependencies automatically, representing an added bonus. We demonstrate DPG on Platune's configurable processor-bus-cache system-on-chip, Noxim's configurable network-on-chip, and the configurable Microblaze FPGA processor.
David Sheldon, Frank Vahid
FPGA1
2008 A pipelined binary tree as a case study on designing efficient circuits for an FPGA in a bram aware design
abstract
Designing circuits for FPGAs involves challenges often distinct from designing circuits for ASICs. We describe efforts to convert a pattern counting circuit architecture, based on a pipelined binary tree and originally designed for ASIC implementation, into a circuit suitable for FPGAs. The original architecture, when mapped to a Spartan 3e FPGA, could process 10 million patterns per second and handle up to 4,096 patterns. The modified architecture could instead process 100 million patterns per second and handle up to 32,768 patterns, representing a 10x performance improvement and a 4x efficiency improvement. The redesign involved partitioning large memories into smaller ones at the expense of redundant control logic. Through this and other case studies, design patterns may emerge that aid designers in building high-performance efficient circuits for FPGAs
David Sheldon, Frank Vahid
FPGA1
2007 Interactive presentation: Soft-core processor customization using the design of experiments paradigm
abstract
Parameterized components are becoming more commonplace in system design. The process of customizing parameter values for a particular application, called tuning, can be a challenging task for a designer. Here we focus on the problem of tuning a parameterized soft-core microprocessor to achieve the best performance on a particular application, subject to size constraints. We map the tuning problem to a well-established statistical paradigm called design of experiments (DoE), which involves the design of a carefully selected set of experiments and a sophisticated analysis that has the objective to extract the maximum amount of information about the effects of the input parameters on the experiment. We apply the DoE method to analyze the relation between input parameters and the performance of a soft-core microprocessor for a particular application, using only a small number of synthesis/execution runs. The information gained by the analysis in turn drives a soft-core tuning heuristic. We show that using DoE to sort the parameters in order of impact results in application speedups of 6times-17times versus an un-tuned base soft-core. When compared to a previous single-factor tuning method, the DoE-based method achieves 3times-6times application speedups, while requiring about the same tuning runtime. We also show that tuning runtime can be reduced by 40-45% by using predictive tuning methods already built into a DoE tool
David Sheldon, Frank Vahid, Stefano Lonardi
DATE1
2006 Application-specific customization of parameterized FPGA soft-core processors
abstract
Soft-core microprocessors mapped onto field-programmable gate arrays (FPGAs) represent an increasingly common embedded software implementation option. Modern FPGA soft-cores are parameterized to support application-specific customization, wherein pre-defined units, such as a multiplication unit or floating-point unit, may be included in the microprocessor architecture to speed up software execution at the expense of increased size. We introduce a methodology for fast applicationspecific customization of a parameterized FPGA soft core, using synthesis and execution to obtain size and performance data in order to create a tool that can be used across a variety of tool platforms and FPGA devices. As synthesizing a soft core takes tens of minutes, developing heuristics that execute in an acceptable time of an hour or two, yet find near-optimal results, is
David Sheldon, Rakesh Kumar 0002, Roman L. Lysecky, Frank Vahid, Dean M. Tullsen
ICCAD1
2006 Conjoining soft-core FPGA processors
abstract
Soft-core programmable processors on field-programmable gate arrays (FPGAs) can be custom synthesized to instantiate only those hardware units, such as multipliers and floating-point units, that an application requires to meet performance demands, thus minimizing soft-core size on the FPGA. Conjoining processors, meaning to share hardware units among two or more processors, can further reduce soft-core size, leaving more resources for other circuits such as custom coprocessors. Using Xilinx MicroBlaze coprocessors and standard embedded system benchmarks, we show that conjoining two processors can provide 16% processor size reductions on average, with less than 1% cycle count overhead. We introduce an efficient dynamic-programming-based exploration method to find the best custom instantiation of hardware units, considering both standalone and conjoined options, for soft-core processors.
David Sheldon, Rakesh Kumar 0002, Frank Vahid, Dean M. Tullsen, Roman L. Lysecky
ICCAD1