Thomas W. Reps

AI
3papers
62citations
Novelty48%
AI Score40

3 Papers

62.3FLMay 15
Do CFLOBDDs Actually Make Use of Linear Structure?

Meghana Aparna Sistla, Swarat Chaudhuri, Thomas W. Reps

Binary Decision Diagrams (BDDs) are a widely used data structure for efficient Boolean function representation. Context-Free-Language Ordered Binary Decision Diagrams (CFLOBDDs) are a recently introduced hierarchical data structure that can, in the best case, exhibit exponential compression over BDDs and double-exponential compression over decision trees. Roughly speaking, a CFLOBDD is a finite, acyclic, non-recursive hierarchical finite-state machine (HFSM) (with some additional restrictions). In this paper, we investigate the role of \emph{linear structure} in CFLOBDDs -- a property that connects them to Nested-Word Automata (NWAs) and Visibly Pushdown Automata (VPAs) -- and examine whether CFLOBDDs actively exploit this structure beyond their well-studied hierarchical properties. We demonstrate that linear structure, in conjunction with hierarchical structure, plays a crucial role in enabling CFLOBDDs to achieve efficient function compression. Furthermore, we show that removing linearity from CFLOBDDs leads to a significant blowup in representation size, resulting in degraded performance in the domain of quantum-circuit simulation.

LGOct 26, 2021
Neural Program Generation Modulo Static Analysis

Rohan Mukherjee, Yeming Wen, Dipak Chaudhari et al.

State-of-the-art neural models of source code tend to be evaluated on the generation of individual expressions and lines of code, and commonly fail on long-horizon tasks such as the generation of entire method bodies. We propose to address this deficiency using weak supervision from a static program analyzer. Our neurosymbolic method allows a deep generative model to symbolically compute, using calls to a static-analysis tool, long-distance semantic relationships in the code that it has already generated. During training, the model observes these relationships and learns to generate programs conditioned on them. We apply our approach to the problem of generating entire Java methods given the remainder of the class that contains the method. Our experiments show that the approach substantially outperforms state-of-the-art transformers and a model that explicitly tries to learn program semantics on this task, both in terms of producing programs free of basic semantic errors and in terms of syntactically matching the ground truth.

AIMay 25, 2017
Neural Attribute Machines for Program Generation

Matthew Amodio, Swarat Chaudhuri, Thomas W. Reps

Recurrent neural networks have achieved remarkable success at generating sequences with complex structures, thanks to advances that include richer embeddings of input and cures for vanishing gradients. Trained only on sequences from a known grammar, though, they can still struggle to learn rules and constraints of the grammar. Neural Attribute Machines (NAMs) are equipped with a logical machine that represents the underlying grammar, which is used to teach the constraints to the neural machine by (i) augmenting the input sequence, and (ii) optimizing a custom loss function. Unlike traditional RNNs, NAMs are exposed to the grammar, as well as samples from the language of the grammar. During generation, NAMs make significantly fewer violations of the constraints of the underlying grammar than RNNs trained only on samples from the language of the grammar.