EDBT 2026 Demo / reviewers in the wild / expert
Bard Bloom
dblp:87/3474
· DBLP profile ↗
26ranked-venue papers
21as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 14 · 10 first-authorSoftware engineering, systems software and programming languages · 10 · 8 first-authorSystems, architecture and hardware · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorApplied, 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.
| Theoretical computer science
11 papers |
Logic in computer science · 82% Automated reasoning and model checking · 13% Coding theory · 4% | |
| Software engineering, system software, and programming languages
3 papers |
Programming languages and type systems · 64% Concurrent programming · 28% Runtime systems and virtual machines · 8% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Memory systems · 60% Distributed systems · 40% |
Topics — the 30 heaviest of 34, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
language design |
0.1 | 1 | 2009 | Thorn: robust, concurrent, extensible scripting on the JVM · OOPSLA 2009 |
Concurrent programming
message passing |
0.1 | 1 | 2009 | Thorn: robust, concurrent, extensible scripting on the JVM · OOPSLA 2009 |
Programming languages and type systems
type systems |
0.1 | 1 | 2009 | Thorn: robust, concurrent, extensible scripting on the JVM · OOPSLA 2009 |
Logic in computer science
process algebra |
0.1 | 5 | 1995 | Structured Operational Semantics as a Specification Language · POPL 1995 Generating BDD Models for Process Algebra Terms · CAV 1995 Turning SOS Rules into Equations · Inf. Comput. 1994 |
Logic in computer science › program semantics › operational semantics
structural operational semantics |
0.1 | 4 | 2000 | Precongruence Formats for Decorated Trace Preorders · LICS 2000 Turning SOS Rules into Equations · Inf. Comput. 1994 Turning SOS Rules into Equations · LICS 1992 |
Logic in computer science
bisimulation |
0.1 | 5 | 1995 | Structured Operational Semantics as a Specification Language · POPL 1995 Turning SOS Rules into Equations · Inf. Comput. 1994 CHOCOLATE: Calculi of Higher Order COmmunication and LAmbda TErms · POPL 1994 |
Logic in computer science
semantics |
0.0 | 2 | 2000 | Precongruence Formats for Decorated Trace Preorders · LICS 2000 Can LCF Be Topped? Flat Lattice models of Typed Lambda Calculus (Preliminary Report) · LICS 1988 |
Automated reasoning and model checking
model checking |
0.0 | 2 | 1997 | Using a Protean Language to Enhance Expressiveness in Specification · IEEE Trans. Software Eng. 1997 Generating BDD Models for Process Algebra Terms · CAV 1995 |
Programming languages and type systems › language semantics › formal semantics
operational semantics |
0.0 | 2 | 1997 | Using a Protean Language to Enhance Expressiveness in Specification · IEEE Trans. Software Eng. 1997 Bisimulation Can't be Traced · J. ACM 1995 |
Logic in computer science › algebraic logic › equational logic
equational axiomatization |
0.0 | 2 | 1994 | Turning SOS Rules into Equations · Inf. Comput. 1994 Turning SOS Rules into Equations · LICS 1992 |
Programming languages and type systems
specification language |
0.0 | 1 | 1997 | Using a Protean Language to Enhance Expressiveness in Specification · IEEE Trans. Software Eng. 1997 |
Coding theory › error-correcting codes › decoding › minimum distance decoding
bounded-distance decoding |
0.0 | 1 | 1997 | Using a Protean Language to Enhance Expressiveness in Specification · IEEE Trans. Software Eng. 1997 |
Programming languages and type systems › program equivalence
bisimulation |
0.0 | 1 | 1995 | Bisimulation Can't be Traced · J. ACM 1995 |
Concurrent programming › concurrency theory
process calculi |
0.0 | 1 | 1995 | Bisimulation Can't be Traced · J. ACM 1995 |
Automated reasoning and model checking › model checking › symbolic model checking
BDD-based model checking |
0.0 | 1 | 1995 | Generating BDD Models for Process Algebra Terms · CAV 1995 |
Logic in computer science › process algebra
process semantics |
0.0 | 1 | 1995 | Generating BDD Models for Process Algebra Terms · CAV 1995 |
Logic in computer science › formal specification
specification language |
0.0 | 1 | 1995 | Structured Operational Semantics as a Specification Language · POPL 1995 |
Logic in computer science › semantics
denotational semantics |
0.0 | 2 | 1990 | Can LCF be Topped? Flat Lattice Models of Typed lambda-Calculus · Inf. Comput. 1990 Can LCF Be Topped? Flat Lattice models of Typed Lambda Calculus (Preliminary Report) · LICS 1988 |
Logic in computer science › semantics › denotational semantics
full abstraction |
0.0 | 2 | 1990 | Can LCF be Topped? Flat Lattice Models of Typed lambda-Calculus · Inf. Comput. 1990 Can LCF Be Topped? Flat Lattice models of Typed Lambda Calculus (Preliminary Report) · LICS 1988 |
Logic in computer science › process algebra
higher-order processes |
0.0 | 1 | 1994 | CHOCOLATE: Calculi of Higher Order COmmunication and LAmbda TErms · POPL 1994 |
Memory systems › shared memory
atomic registers |
0.0 | 2 | 1988 | Constructing Two-Writer Atomic Registers · IEEE Trans. Computers 1988 Constructing Two-Writer Atomic Registers · PODC 1987 |
Logic in computer science
concurrency theory |
0.0 | 1 | 1992 | Turning SOS Rules into Equations · LICS 1992 |
Logic in computer science › lambda calculus › typed lambda calculus
PCF |
0.0 | 1 | 1990 | Can LCF be Topped? Flat Lattice Models of Typed lambda-Calculus · Inf. Comput. 1990 |
Logic in computer science
programming languages and type systems |
0.0 | 1 | 1990 | Can LCF be Topped? Flat Lattice Models of Typed lambda-Calculus · Inf. Comput. 1990 |
Logic in computer science
program semantics |
0.0 | 1 | 1990 | Can LCF be Topped? Flat Lattice Models of Typed lambda-Calculus · Inf. Comput. 1990 |
Logic in computer science › lambda calculus
typed lambda calculus |
0.0 | 1 | 1990 | Can LCF be Topped? Flat Lattice Models of Typed lambda-Calculus · Inf. Comput. 1990 |
Automated reasoning and model checking
abstraction refinement |
0.0 | 1 | 1997 | Using a Protean Language to Enhance Expressiveness in Specification · IEEE Trans. Software Eng. 1997 |
Logic in computer science › formal specification
refinement |
0.0 | 1 | 1997 | Using a Protean Language to Enhance Expressiveness in Specification · IEEE Trans. Software Eng. 1997 |
Distributed systems
fault tolerance |
0.0 | 1 | 1988 | Constructing Two-Writer Atomic Registers · IEEE Trans. Computers 1988 |
Memory systems
shared memory |
0.0 | 1 | 1988 | Constructing Two-Writer Atomic Registers · IEEE Trans. Computers 1988 |
Methods — techniques the papers use, named apart from their topics
compiler plugin mechanism · 0.1binary decision diagrams · 0.1structural operational semantics · 0.0transition system specifications · 0.0modal characterization · 0.0equational reasoning · 0.0equational logic · 0.0correctness proof · 0.0scott semantics · 0.0proof theory · 0.0flat lattice models · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Robust scripting via patternsabstractDynamic typing in scripting languages is a two-edged sword. On the one hand, it can be more flexible and more concise than static typing. On the other hand, it can lead to less robust code. We argue that patterns can give scripts much of the robustness of static typing, without losing the flexibility and concision of dynamic typing. To make this case, we describe a rich pattern system in the dynamic language Thorn. Thorn patterns interact with its control constructs and scoping rules to support concise and robust test-and-extract idioms. Thorn patterns encompass an extensive set of features from ML-style patterns to regular expressions and beyond. And Thorn patterns can be first-class and support pattern-punning (mirror constructor syntax). Overall, this paper describes a powerful pattern system that makes scripting more robust. Bard Bloom, Martin Hirzel |
DLS | 1 |
| 2012 | SatX10: A Scalable Plug&Play Parallel SAT Framework - (Tool Presentation)
Bard Bloom, David Grove, Benjamin Herta, Ashish Sabharwal, Horst Samulowitz, Vijay A. Saraswat |
SAT | 1 |
| 2009 | Thorn: robust, concurrent, extensible scripting on the JVMabstractScripting languages enjoy great popularity due to their support for rapid and exploratory development. They typically have lightweight syntax, weak data privacy, dynamic typing, powerful aggregate data types, and allow execution of the completed parts of incomplete programs. The price of these features comes later in the software life cycle. Scripts are hard to evolve and compose, and often slow. An additional weakness of most scripting languages is lack of support for concurrency - though concurrency is required for scalability and interacting with remote services. This paper reports on the design and implementation of Thorn, a novel programming language targeting the JVM. Our principal contributions are a careful selection of features that support the evolution of scripts into industrial grade programs - e.g., an expressive module system, an optional type annotation facility for declarations, and support for concurrency based on message passing between lightweight, isolated processes. On the implementation side, Thorn has been designed to accommodate the evolution of the language itself through a compiler plugin mechanism and target the Java virtual machine. Bard Bloom, John Field, Nathaniel Nystrom, Johan Östlund, Gregor Richards, Rok Strnisa, Jan Vitek, Tobias Wrigstad |
OOPSLA | 1 |
| 2009 | Ferret: Programming language support for multiple dynamic classification
Bard Bloom, Paul T. Keyser, Ian Simmonds, Mark N. Wegman |
Comput. Lang. Syst. Struct. | 1 |
| 2008 | Matchete: Paths through the Pattern Matching Jungle
Martin Hirzel, Nathaniel Nystrom, Bard Bloom, Jan Vitek |
PADL | 3 |
| 2004 | Precongruence formats for decorated trace semanticsabstractThis paper explores the connection between semantic equivalences and preorders for concrete sequential processes, represented by means of labeled transition systems, and formats of transition system specifications using Plotkin's structural approach. For several preorders in the linear time---branching time spectrum a format is given, as general as possible, such that this preorder is a precongruence for all operators specifiable in that format. The formats are derived using the modal characterizations of the corresponding preorders. Bard Bloom, Wan J. Fokkink, Rob J. van Glabbeek |
ACM Trans. Comput. Log. | 1 |
| 2000 | Precongruence Formats for Decorated Trace PreordersabstractThis paper explores the connection between semantic equivalences and preorders for concrete sequential processes, represented by means of labelled transition systems, and formats of transition system specifications using Plotkin's (1981) structural approach. For several preorders in the linear time-branching time spectrum a format is given, as general as possible, such that this preorder is a precongruence for all operators specifiable in that format. The formats are derived using the modal characterizations of the corresponding preorders. Bard Bloom, Wan J. Fokkink, Rob J. van Glabbeek |
LICS | 1 |
| 1997 | Using a Protean Language to Enhance Expressiveness in SpecificationabstractA Protean specification language (B. Bloom, 1995) based on structured operational semantics (SOS) allows the user to invent appropriate operations to improve abstraction and readability. This is in contrast to traditional specification languages, where the set of operations is fixed. An efficient algorithm, described by A. Dsouza and B. Bloom (1995), uses binary decision diagrams (BDDs) to verify properties of finite specifications written in a Protean language and provides the basis for a model checker we have developed. The paper provides a synthesis of our work on Protean languages and relates the work to other specification techniques. We show how abstraction and refinement in the Protean framework can improve the effectiveness of model checking. We rewrite and verify properties of an existing Z specification by defining suitable operations. We also show how a Protean language can be used to model restricted I/O automata, action refinement, and 1-safe and k-bounded Petri nets. Bard Bloom, Allan Cheng, Ashvin Dsouza |
IEEE Trans. Software Eng. | 1 |
| 1995 | Generating BDD Models for Process Algebra Terms
Ashvin Dsouza, Bard Bloom |
CAV | 2 |
| 1995 | On the Expressive Power of CCS
Ashvin Dsouza, Bard Bloom |
FSTTCS | 2 |
| 1995 | Structured Operational Semantics as a Specification LanguageabstractStandard specification languages have very limited abilities to define new operations on processes. We introduce the concept of a Protean specification language, with general definitional facilities supported by the appropriate theory. Protean languages allow elegant, readable, and useful specifications at all levels of abstraction. A good Protean specification language will admit methods of verifying that one specification is a refinement of another. We sketch a family of Protean specification languages (with references to the full details) which allow a vast amount of expressive power in defining operations, but nonetheless have all the essential theoretical and specification power of CCS and ACP.We illustrate these techniques by presenting several specifications of the job of protecting an arbitrary server by a checkpoint/backup scheme. The high-level specification of the protected server simply says, “It does everything it did before, and it doesn't crash.” The middle-level specification describes checkpointing cleanly and abstractly, without prescribing any particular implementation. The low-level specification is fairly close to an implementation. We show the high- and medium-level specifications equivalent by bisimulation relation techniques, and the medium- and low-level specifications equivalent by equational reasoning using automatically-generated equations. We also show that the operations expressing checkpointing behavior are not definable in standard process algebras. Bard Bloom |
POPL | 1 |
| 1995 | Bisimulation Can't be TracedabstractIn the concurrent language CCS, two programs are considered the same if they are bisimilar . Several years and many researchers have demonstrated that the theory of bisimulation is mathematically appealing and useful in practice. However, bisimulation makes too many distinctions between programs. We consider the problem of adding operations to CCS to make bisimulation fully abstract. We define the class of GSOS operations, generalizing the style and technical advantages of CCS operations. We characterize GSOS congruence in as a bisimulation-like relation called ready-simulation . Bisimulation is strictly finer than ready simulation, and hence not a congruence for any GSOS language. Bard Bloom, Sorin Istrail, Albert R. Meyer |
J. ACM | 1 |
| 1995 | Transformational Design and Implementation of a New Efficient Solution to the Ready Simulation ProblemabstractA transformational methodology is described for simultaneously designing algorithms and developing programs. The methodology makes use of three transformational tools — dominated convergence, finite differencing, and real-time simulation of a set machine on a RAM. We ilustrate the methodology to design a new O(mn + n2)-time algorithm for deciding when n-state, m-transition processes are ready similar, which is a substantial improvement on the ⊖(mn6) algorithm presented in Bloom (1989). The methodology is also used to derive a program whose performance, we believe, is competitive with the most efficient hand-crafted implementation of our algorithm. Ready simulation is the finest fully abstract notion of process equivalence in the CCS setting. Bard Bloom, Robert Paige |
Sci. Comput. Program. | 1 |
| 1995 | Structural Operational Semantics for Weak BisimulationsabstractIn this study, we present rule formats for four main notions of bisimulation with silent moves. Weak bisimulation is a congruence for any process algebra defined by WB cool rules; we have similar results for rooted weak bisimulation (Milner's “observational congruence”), branching bisimulation, and rooted branching bisimulation. The theorems stating that, say, observational congruence is an appropriate notion of equality for CCS are corollaries of the results of this paper. We also give sufficient conditions under which equational axiom systems can be generated from operational rules. Indeed, many equational axiom systems appearing in the literature are instances of this general theory. Bard Bloom |
Theor. Comput. Sci. | 1 |
| 1994 | CHOCOLATE: Calculi of Higher Order COmmunication and LAmbda TErmsabstractWe propose a general definition of higher-order process calculi, generalizing CHOCS [Tho89] and related calculi, and investigate its basic properties. We give sufficient conditions under which a calculus is finitely-branching and effective. We show that a suitable notion of higher-order bisimulation is a congruence for a subclass of higher-order calculi. We illustrate our definitions with a simple calculus strictly stronger than CHOCS. Bard Bloom |
POPL | 1 |
| 1994 | When is Partial Trace Equivalence Adequate?abstractAbstract Two processes arepartial trace equivalentiff they can perform the same sequences of actions in isolation. Partial trace equivalence is perhaps the simplest possible notion of process equivalence. In general, it is too simple: it is not usually an adequate semantics. We investigate the circumstances under which it is adequate, which are surprisingly rich. We give two substantial classes of languages for which partial traces are adequate. In one class, partial trace equivalence suffices for total correctness, and operations such as true sequencing are possible; but all processes are determinate and silent moves are not possible. The other class — which includes many standard process calculi, such as CCS and CSP — admits indeterminacy and silent moves, but partial traces only suffice for partial correctness and true sequencing is not definable. Bard Bloom |
Formal Aspects Comput. | 1 |
| 1994 | Turning SOS Rules into EquationsabstractMany process algebras are defined by structural operational semantics (SOS). Indeed, most such definitions are nicely structured and fit the GSOS format of Bloom et al. (J. Assoc. Comput. Mach., to appear). We give a procedure for converting any GSOS language definition to a finite complete equational axiom system (possibly with one infinitary induction principle) which precisely characterizes strong bisimulation of processes. Luca Aceto, Bard Bloom, Frits W. Vaandrager |
Inf. Comput. | 2 |
| 1993 | Structured Operational Sematics for Process Algebras and Equational Axiom Systems
Bard Bloom |
CONCUR | 1 |
| 1992 | Turning SOS Rules into EquationsabstractA procedure is given for extracting from a GSOS specification of an arbitrary process algebra a complete axiom system for bisimulation equivalence (equational, except for possibly one conditional equation). The methods apply to almost all SOSs for process algebras that have appeared in the literature, and the axiomatizations compare reasonably well with most axioms that have been presented. In particular, they discover the L characterization of parallel composition. It is noted that completeness results for equational axiomatizations are tedious and have become rather standard in many cases. A generalization of extant completeness results shows that in principle this burden can be completely removed if one gives a GSOS description of a process algebra.> Luca Aceto, Bard Bloom, Frits W. Vaandrager |
LICS | 2 |
| 1992 | Experimenting with Process EquivalenceabstractDistinctions between concurrent processes based on observable outcomes of computational experiments are examined. The equivalence determined by a general class of experiments involving duplication of processes can be characterized by a notion of ready simulation resembling, but strictly coarser than, Milner's bisimulation equivalence. Bard Bloom, Albert R. Meyer |
Theor. Comput. Sci. | 1 |
| 1991 | Trade-Offs in True Concurrency: Pomsets and Mazurkiewicz Traces
Bard Bloom, Marta Z. Kwiatkowska |
MFPS | 1 |
| 1990 | Can LCF be Topped? Flat Lattice Models of Typed lambda-CalculusabstractPlotkin ((1977) Theoret. Comput. Sci. 5: 223–256) examines the denotational semantics of PCF (essentially typed λ-calculus with arithmetic and looping). The standard Scott semantics V is computationally adequate but not fully abstract; with the addition of some parallel facilities, it becomes fully abstract, and with the addition of an existential operator, denotationally universal. We consider carrying out the same program for ⊙, the Scott models built from flat lattices rather than flat cpo's. Surprisingly, no computable extension of PCF can be denotationally universal; perfectly reasonable semantic values such as supremum and Plotkin's “parallel or” cannot be definable. There is an unenlightening fully abstract extension LA (approx), based on Gödel numbering and syntactic analysis. Unfortunately, this is the best we can do; operators defined by PCF-style rules cannot give a fully abstract language. (There is a natural and desirable property, operational extensionality, which prevents full abstraction with respect to ⊙.) However, we show that Plotkin's program can be carried out for a nonconfluent evaluator. Bard Bloom |
Inf. Comput. | 1 |
| 1988 | Can LCF Be Topped? Flat Lattice models of Typed Lambda Calculus (Preliminary Report)abstractG. Plotkin (1977) examined the denotational semantics of LCF (essentially typed lambda calculus with arithmetic and looping). He showed that the standard Scott semantics is computationally adequate but not fully abstract; with the addition of some parallel facilities, it becomes fully abstract, and with the addition of an extential operator, denotationally universal. This treatment is extended to Scott models built from flat lattices rather than flat cpo's. It is found that no extension of LCF can be denotationally universal. A fully abstract extension based on Godel numbering and synthetic analysis is the best that can be achieved. Operators defined by LCF-style rules cannot give fully abstract language. It is shown that Plotkin's program can be carried out for a nonconfluent evaluator.> Bard Bloom |
LICS | 1 |
| 1988 | Bisimulation Can't Be TracedabstractBisimulation is the primitive notion of equivalence between concurrent processes in Milner's Calculus of Communicating Systems (CCS); there is a nontrivial game-like protocol for distinguishing nonbisimular processes. In contrast, process distinguishability in Hoare's theory of Communicating Sequential Processes (CSP) is determined solely on the basis of traces of visible actions. We examine what additional operations are needed to explain bisimulation similarly—specifically in the case of finitely branching processes without silent moves. We formulate a general notion of Structured Operational Semantics for processes with Guarded recursion (GSOS), and demonstrate that bisimulation does not agree with trace congruence with respect to any set of GSOS-definable contexts. In justifying the generality and significance of GSOS's, we work out some of the basic proof theoretic facts which justify the SOS discipline. Bard Bloom, Sorin Istrail, Albert R. Meyer |
POPL | 1 |
| 1988 | Constructing Two-Writer Atomic RegistersabstractA two-writer, n-reader atomic memory register is constructed from two one-writer, (n+1)-reader atomic memory registers. There are no restrictions on the size of the constructed register. The simulation requires only a single extra bit per real register and can survive the failure of any set of readers and writers. A complete proof of correctness is given. Several obvious ways are suggested to try to extend this algorithm to more than two writers, none of which work. As an example, it is shown how a natural extension of the two-writer protocol fails.> Bard Bloom |
IEEE Trans. Computers | 1 |
| 1987 | Constructing Two-Writer Atomic RegistersabstractIn this paper, we construct a 2-writer, n-reader atomic memory register from two l-writer, (n + l)-reader atomic memory registers. There are no restrictions on the size of the constructed register. The simulation requires only a single extra bit per real register, and can survive the failure of any set of readers and writers. This construction is a part of a systematic investigation of register simulations, by several researchers. Bard Bloom |
PODC | 1 |