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 Wragg

dblp:40/5165 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
1since 2021 · last 2026
0000-0002-4007-953XORCID · reported

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

Software engineering, systems software and programming languages · 1Theory of computation · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author · 1 since 2021

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.

Interdisciplinary, comprehensive, and emerging computing
1 paper
Bioinformatics and computational biology · 100%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 51% Compilers and program optimization · 49%

Topics — the 7 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Bioinformatics and computational biology › single-cell analysis
single-cell sequencing
1.012026
Harvesting more reads from single-cell combinatorial barcoding data with scarecrow · Bioinform. 2026
Bioinformatics and computational biology › sequence analysis › sequencing data processing
read preprocessing
0.312026
Harvesting more reads from single-cell combinatorial barcoding data with scarecrow · Bioinform. 2026
Programming languages and type systems › interoperability
binary compatibility
0.021999
A Fragment Calculus - Towards a Model of Separate Compilation, Linking and Binary Compatibility · LICS 1999
What is Java Binary Compatibility? · OOPSLA 1998
Compilers and program optimization › compiler toolchain
separate compilation
0.021999
A Fragment Calculus - Towards a Model of Separate Compilation, Linking and Binary Compatibility · LICS 1999
What is Java Binary Compatibility? · OOPSLA 1998
Compilers and program optimization › compiler toolchain
linking
0.021999
A Fragment Calculus - Towards a Model of Separate Compilation, Linking and Binary Compatibility · LICS 1999
What is Java Binary Compatibility? · OOPSLA 1998
Programming languages and type systems › object-oriented programming
java
0.011998
What is Java Binary Compatibility? · OOPSLA 1998
Programming languages and type systems › language-based security
type-safe linking
0.011998
What is Java Binary Compatibility? · OOPSLA 1998

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

positional error correction · 1.0barcode profile generation · 1.0fragment calculus · 0.0soundness proof · 0.0formalization · 0.0
YearPublicationVenuePosition
2026 Harvesting more reads from single-cell combinatorial barcoding data with scarecrow
abstract
Abstract Summary Combinatorial barcoding technologies for single-cell nucleotide sequencing, such as split-pool ligation protocols, involve sequential rounds of cell barcoding to uniquely tag individual cells. The rapid adoption of combinatorial barcoding in recent years is due in part to its scalability across cells and samples. However, small shifts in barcode positions within sequencing reads caused by technical artifacts, e.g. during barcode incorporation or synthesis, can impact the accurate assignment of reads to cell barcodes. Existing processing tools typically assume barcodes contain fixed-length nucleotide sequences located at fixed positions within reads, overlooking any positional variability. Consequently, reads containing truncated or mispositioned barcodes are discarded during initial data processing steps leading to significant data loss. To solve this limitation and maximize the retention of sequencing reads from single-cell combinatorial barcoding experiments, we introduce scarecrow. This tool screens a subsample of reads to generate position-specific barcode profiles, which are then used to flexibly identify barcode sequences in each read whilst accounting for positional errors, a phenomenon we refer to as “jitter”. Barcode matches are then prioritized to minimize nucleotide mismatches and the degree of jitter. These initial profiles are subsequently used to extract and error correct barcode combinations in high throughput sequencing libraries. By incorporating jitter into barcode error correction, scarecrow enables greater data recovery and improved downstream single-cell analyses. Scarecrow is fully open access, implemented in Python, and generates output files using standardized sequence file formats for maximal interoperability. A detailed explanation of the scarecrow workflow can be found in the supplementary materials. Availability and implementation Scarecrow is freely available on GitHub https://github.com/MorganResearchLab/scarecrow and Zenodo https://doi.org/10.5281/zenodo.18621784.
David Wragg, Eunchai Kang, Michael D. Morgan
Bioinform.1
1999 A Fragment Calculus - Towards a Model of Separate Compilation, Linking and Binary Compatibility
abstract
We propose a calculus describing compilation and linking in terms of operations on fragments, i.e. compilation units, without reference to their specific contents. We believe this calculus faithfully reflects the situation within modern programming systems. Binary compatibility in Java prescribes conditions under which modification of fragments does not necessitate recompilation of importing fragments. We apply our calculus to formalize binary compatibility, and demonstrate that several interpretations of the language specification are possible, each with different ramifications. We choose a particular interpretation, justify our choice, formulate and prove properties important for language designers and code library developers.
Sophia Drossopoulou, Susan Eisenbach, David Wragg
LICS3
1998 What is Java Binary Compatibility?
abstract
Separate compilation allows the decomposition of programs into units that may be compiled separately, and linked into an executable. Traditionally, separate compilation was equivalent to the compilation of all units together, and modification and re-compilation of one unit required re-compilation of all importing units.Java suggests a more flexible framework, in which the linker checks the integrity of the binaries to be combined. Certain source code modifications, such as addition of methods to classes, are defined as binary compatible. The language description guarantees that binaries of types (i.e. classes or interfaces) modified in binary compatible ways may be re-compiled and linked with the binaries of types that imported and were compiled using the earlier versions of the modified types.However, this is not always the case: some of the changes considered by Java as binary compatible do not guarantee successful linking and execution. In this paper we study the concepts around binary compatibility. We suggest a formalization of the requirement of safe linking and execution without re-compilation, investigate alternatives, demonstrate several of its properties, and propose a more restricted definition of binary compatible changes. Finally, we prove for a substantial subset of Java, that this restricted definition guarantees error-free linking and execution.
Sophia Drossopoulou, David Wragg, Susan Eisenbach
OOPSLA2