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.

Titus H. Klinge

dblp:116/6725 · DBLP profile ↗
← Back
15ranked-venue papers
5as first author
5since 2021 · last 2025
0000-0002-2297-6712ORCID · corroborated

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

Software engineering, systems software and programming languages · 6 · 1 since 2021Artificial intelligence and machine learning · 4 · 2 first-author · 3 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 2 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 1Theory of computation · 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
4 papers
Software testing · 71% Program verification · 20% Requirements engineering and software design · 9%
Interdisciplinary, comprehensive, and emerging computing
3 papers
Bioinformatics and computational biology · 100%

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

TopicWeightPapersLastEvidence papers
Software testing › test generation › specification-based test generation
invariant-based test generation
0.612022
Inference and Test Generation Using Program Invariants in Chemical Reaction Networks · ICSE 2022
Program verification
invariant generation
0.612022
Inference and Test Generation Using Program Invariants in Chemical Reaction Networks · ICSE 2022
Software testing
test generation
0.612022
Inference and Test Generation Using Program Invariants in Chemical Reaction Networks · ICSE 2022
Software testing
metamorphic testing
0.412020
ChemTest: An Automated Software Testing Framework for an Emerging Paradigm · ASE 2020
Software testing › test oracle
metamorphic test oracle
0.412020
ChemTest: An Automated Software Testing Framework for an Emerging Paradigm · ASE 2020
Software testing › test infrastructure
test framework
0.412020
ChemTest: An Automated Software Testing Framework for an Emerging Paradigm · ASE 2020
Requirements engineering and software design
goal-oriented requirements engineering
0.322014
Automated requirements analysis for a molecular watchdog timer · ASE 2014
Engineering and verifying requirements for programmable self-assembling nanomachines · ICSE 2012
Bioinformatics and computational biology
chemical reaction network
0.222022
Inference and Test Generation Using Program Invariants in Chemical Reaction Networks · ICSE 2022
Automated requirements analysis for a molecular watchdog timer · ASE 2014
Program verification › model checking
probabilistic model checking
0.112012
Engineering and verifying requirements for programmable self-assembling nanomachines · ICSE 2012
Software testing
flaky test
0.112020
ChemTest: An Automated Software Testing Framework for an Emerging Paradigm · ASE 2020
Electronic design automation › hardware verification and test
fault detection
0.112019
Runtime Fault Detection in Programmed Molecular Systems · ACM Trans. Softw. Eng. Methodol. 2019
Bioinformatics and computational biology
DNA nanotechnology
0.122014
Automated requirements analysis for a molecular watchdog timer · ASE 2014
Engineering and verifying requirements for programmable self-assembling nanomachines · ICSE 2012

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

model validation · 1.1invariant inference · 1.1simulation trace evaluation · 0.4mutation testing · 0.4runtime monitoring · 0.4simulation · 0.4model checking · 0.4probabilistic model checking · 0.3goal-oriented requirements engineering · 0.3
YearPublicationVenuePosition
2025 Real-time computing and robust memory with deterministic chemical reaction networks
Willem Fletcher, Titus H. Klinge, James I. Lathrop, Dawn A. Nye, Matthew Rayman
Nat. Comput.2
2024 ALCH: An imperative language for chemical reaction network-controlled tile assembly
Titus H. Klinge, James I. Lathrop, Sonia Moreno, Hugh D. Potter, Narun K. Raman, Matthew R. Riley
Nat. Comput.1
2024 Reactamole: functional reactive molecular programming
Titus H. Klinge, James I. Lathrop, Peter-Michael Osera, Allison Rogers
Nat. Comput.1
2022 Inference and Test Generation Using Program Invariants in Chemical Reaction Networks
abstract
Chemical reaction networks (CRNs) are an emerging distributed computational paradigm where programs are encoded as a set of abstract chemical reactions. CRNs can be compiled into DNA strands which perform the computations in vitro, creating a foundation for intelligent nanodevices. Recent research proposed a software testing framework for stochastic CRN programs in simulation, however, it relies on existing program specifications. In practice, specifications are often lacking and when they do exist, transforming them into test cases is time-intensive and can be error prone. In this work, we propose an inference technique called ChemFlow which extracts 3 types of invariants from an existing CRN model. The extracted invariants can then be used for test generation or model validation against program implementations. We applied ChemFlow to 13 CRN programs ranging from toy examples to real biological models with hundreds of reactions. We find that the invariants provide strong fault detection and often exhibit less flakiness than specification derived tests. In the biological models we showed invariants to developers and they confirmed that some of these point to parts of the model that are biologically incorrect or incomplete suggesting we may be able to use ChemFlow to improve model quality.
Michael C. Gerten, Alexis L. Marsh, James I. Lathrop, Myra B. Cohen, Andrew S. Miner, Titus H. Klinge
ICSE6
2021 Reactamole: Functional Reactive Molecular Programming
abstract
Chemical reaction networks (CRNs) are an important tool for molecular programming, a field that is rapidly expanding our ability to deploy computer programs into biological systems for a variety of applications. However, CRNs are also difficult to work with due to their massively parallel nature, leading to the need for higher-level languages that allow for easier computation with CRNs. Recently, research has been conducted into a variety of higher-level languages for deterministic CRNs but modeling CRN parallelism, managing error accumulation, and finding natural CRN representations are ongoing challenges. We introduce Reactamole, a higher-level language for deterministic CRNs that utilizes the functional reactive programming (FRP) paradigm to represent CRNs as a reactive dataflow network. Reactamole equates a CRN with a functional reactive program, implementing the key primitives of the FRP paradigm directly as CRNs. The functional nature of Reactamole makes reasoning about molecular programs easier, and its strong static typing allows us to ensure that a CRN is well-formed by virtue of being well-typed. In this paper, we describe the design of Reactamole and how we use CRNs to represent the common datatypes and operations found in FRP. We also demonstrate the potential of this functional reactive approach to molecular programming by giving an extended example where a CRN is constructed using FRP to modulate and demodulate an amplitude modulated signal.
Titus H. Klinge, James I. Lathrop, Peter-Michael Osera, Allison Rogers
DNA1
2020 ALCH: An Imperative Language for Chemical Reaction Network-Controlled Tile Assembly
abstract
In 2015 Schiefer and Winfree introduced the chemical reaction network-controlled tile assembly model (CRN-TAM), a variant of the abstract tile assembly model (aTAM), where tile reactions are mediated via non-local chemical signals. In this paper, we introduce ALCH, an imperative programming language for specifying CRN-TAM programs. ALCH contains common features like Boolean variables, conditionals, and loops. It also supports CRN-TAM-specific features such as adding and removing tiles. A unique feature of the language is the branch statement, a nondeterministic control structure that allows us to query the current state of tile assemblies. We also developed a compiler that translates ALCH to the CRN-TAM, and a simulator that simulates and visualizes the self-assembly of a CRN-TAM program. Using this language, we show that the discrete Sierpinski triangle can be strictly self-assembled in the CRN-TAM. This solves an open problem that the CRN-TAM is capable of self-assembling infinite shapes at scale one that the aTAM cannot. ALCH allows us to present this construction at a high level, abstracting species and reactions into C-like code that is simpler to understand. Our construction utilizes two new CRN-TAM techniques that allow us to tackle this open problem. First, it employs the branching feature of ALCH to probe the previously placed tiles of the assembly and detect the presence and absence of tiles. Second, it uses scaffolding tiles to precisely control tile placement by occluding any undesired binding sites.
Titus H. Klinge, James I. Lathrop, Sonia Moreno, Hugh D. Potter, Narun K. Raman, Matthew R. Riley
DNA1
2020 ChemTest: An Automated Software Testing Framework for an Emerging Paradigm
abstract
In recent years the use of non-traditional computing mechanisms has grown rapidly. One paradigm uses chemical reaction networks (CRNs) to compute via chemical interactions. CRNs are used to prototype molecular devices at the nanoscale such as intelligent drug therapeutics. In practice, these programs are first written and simulated in environments such as MatLab and later compiled into physical molecules such as DNA strands. However, techniques for testing the correctness of CRNs are lacking. Current methods of validating CRNs include model checking and theorem proving, but these are limited in scalability. In this paper we present the first (to the best of our knowledge) testing framework for CRNs, ChemTest. ChemTest evaluates test oracles on individual simulation traces and supports functional, metamorphic, internal and hyper test cases. It also allows for flakiness and programs that are probabilistic. We performed a large case study demonstrating that ChemTest can find seeded faults and scales beyond model checking. Of our tests, 21% are inherently flaky, suggesting that systematic support for this paradigm is needed. On average, functional tests find 66.5% of the faults, while metamorphic tests find 80.4%, showing the benefit of using metamorphic relationships in our test framework. In addition, we show how the time at evaluation impacts fault detection.
Michael C. Gerten, James I. Lathrop, Myra B. Cohen, Titus H. Klinge
ASE4
2020 Robust biomolecular finite automata
Titus H. Klinge, James I. Lathrop, Jack H. Lutz
Theor. Comput. Sci.1
2019 Real-Time Equivalence of Chemical Reaction Networks and Analog Computers
Xiang Huang 0001, Titus H. Klinge, James I. Lathrop
DNA2
2019 Real-time computability of real numbers by chemical reaction networks
Xiang Huang 0001, Titus H. Klinge, James I. Lathrop, Xiaoyuan Li 0002, Jack H. Lutz
Nat. Comput.2
2019 Runtime Fault Detection in Programmed Molecular Systems
Samuel J. Ellis, Titus H. Klinge, James I. Lathrop, Jack H. Lutz, Robyn R. Lutz, Andrew S. Miner, Hugh D. Potter
ACM Trans. Softw. Eng. Methodol.2
2018 A Functional Approach to Data Science in CS1
abstract
As part of the development of a new interdisciplinary initiative in data science that draws from statistics, mathematics, computer science, and the social sciences, we have developed a new introductory CS course that emphasizes data science and that we refer to as DataCSCi. Unlike other introductory data science courses, such as Berkeley's Data 8, our course retains the broad array of concepts necessary not only to introduce programming principles related to data science, but also to prepare students for the second course in our standard introductory computer science sequence. In particular, the course includes coverage of recursion (numeric and structural), unit testing, linked data structures, and other concepts we rely upon in subsequent courses in computer science. At the same time, we introduce students to a wide variety of techniques and approaches that support them in their subsequent work in data science, including techniques for wrangling, cleaning, and visualizing data. We achieve this combination of breadth and depth through two core approaches: We focus on a spiral "use then implement" approach and we focus on a functional model of programming using Scheme/Racket. While Python and R are the most commonly used languages for data science, we find that Scheme works particularly well to introduce students to concepts both complex, like map-reduce, and simple, like list filtering. In this paper, we report on the design of the curriculum, particularly the capstone project and the ways in which we incorporate the burgeoning subfield of data science for social good.
Sarah Dahlby Albright, Titus H. Klinge, Samuel A. Rebelsky
SIGCSE2
2014 Automated requirements analysis for a molecular watchdog timer
abstract
Dynamic systems in DNA nanotechnology are often programmed using a chemical reaction network (CRN) model as an intermediate level of abstraction. In this paper, we design and analyze a CRN model of a watchdog timer, a device commonly used to monitor the health of a safety critical system. Our process uses incremental design practices with goal-oriented requirements engineering, software verification tools, and custom software to help automate the software engineering process. The watchdog timer is comprised of three components: an absence detector, a threshold filter, and a signal amplifier. These components are separately designed and verified, and only then composed to create the molecular watchdog timer. During the requirements-design iterations, simulation, model checking, and analysis are used to verify the system. Using this methodology several incomplete requirements and design flaws were found, and the final verified model helped determine specific parameters for biological experiments.
Samuel J. Ellis, Eric R. Henderson, Titus H. Klinge, James I. Lathrop, Jack H. Lutz, Robyn R. Lutz, Divita Mathur, Andrew S. Miner
ASE3
2012 Engineering and verifying requirements for programmable self-assembling nanomachines
abstract
We propose an extension of van Lamsweerde's goal-oriented requirements engineering to the domain of programmable DNA nanotechnology. This is a domain in which individual devices (agents) are at most a few dozen nanometers in diameter. These devices are programmed to assemble themselves from molecular components and perform their assigned tasks. The devices carry out their tasks in the probabilistic world of chemical kinetics, so they are individually error-prone. However, the number of devices deployed is roughly on the order of a nanomole (a 6 followed by fourteen 0s), and some goals are achieved when enough of these agents achieve their assigned subgoals. We show that it is useful in this setting to augment the AND/OR goal diagrams to allow goal refinements that are mediated by threshold functions, rather than ANDs or ORs. We illustrate this method by engineering requirements for a system of molecular detectors (DNA origami “pliers” that capture target molecules) invented by Kuzuya, Sakai, Yamazaki, Xu, and Komiyama (2011). We model this system in the Prism probabilistic symbolic model checker, and we use Prism to verify that requirements are satisfied, provided that the ratio of target molecules to detectors is neither too high nor too low. This gives prima facie evidence that software engineering methods can be used to make DNA nanotechnology more productive, predictable and safe.
Robyn R. Lutz, Jack H. Lutz, James I. Lathrop, Titus H. Klinge, Eric R. Henderson, Divita Mathur, Dalia Abo Sheasha
ICSE4
2012 Requirements analysis for a product family of DNA nanodevices
abstract
DNA nanotechnology uses the information processing capabilities of nucleic acids to design self-assembling, programmable structures and devices at the nanoscale. Devices developed to date have been programmed to implement logic circuits and neural networks, capture or release specific molecules, and traverse molecular tracks and mazes. Here we investigate the use of requirements engineering methods to make DNA nanotechnology more productive, predictable, and safe. We use goal-oriented requirements modeling to identify, specify, and analyze a product family of DNA nanodevices, and we use PRISM model checking to verify both common properties across the family and properties that are specific to individual products. Challenges to doing requirements engineering in this domain include the error-prone nature of nanodevices carrying out their tasks in the probabilistic world of chemical kinetics, the fact that roughly a nanomole (a 1 followed by 14 0s) of devices are typically deployed at once, and the difficulty of specifying and achieving modularity in a realm where devices have many opportunities to interfere with each other. Nevertheless, our results show that requirements engineering is useful in DNA nanotechnology and that leveraging the similarities among nanodevices in the product family improves the modeling and analysis by supporting reuse.
Robyn R. Lutz, Jack H. Lutz, James I. Lathrop, Titus H. Klinge, Divita Mathur, Donald M. Stull, Taylor Bergquist, Eric R. Henderson
RE4