Daniel J. Fremont
University of California, Berkeley
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Daniel J. Fremont.
tools and algorithms for construction and analysis of systems | 2015
Supratik Chakraborty; Daniel J. Fremont; Kuldeep S. Meel; Sanjit A. Seshia; Moshe Y. Vardi
Constrained-random verification CRV is widely used in industry for validating hardware designs. The effectiveness of CRV depends on the uniformity of test stimuli generated from a given set of constraints. Most existing techniques sacrifice either uniformity or scalability when generating stimuli. While recent work based on random hash functions has shown that it is possible to generate almost uniform stimuli from constraints with 100,000+ variables, the performance still falls short of todays industrial requirements. In this paper, we focus on pushing the performance frontier of uniform stimulus generation further. We present a random hashing-based, easily parallelizable algorithm, UniGen2, for sampling solutions of propositional constraints. UniGen2 provides strong and relevant theoretical guarantees in the context of CRV, while also offering significantly improved performance compared to existing almost-uniform generators. Experiments on a diverse set of benchmarks show that UniGen2 achieves an average speedup of about 20× over a state-of-the-art sampling algorithm, even when running on a single core. Moreover, experiments with multiple cores show that UniGen2 achieves a near-linear speedup in the number of cores, thereby boosting performance even further.
theory and applications of satisfiability testing | 2016
Nathan Mull; Daniel J. Fremont; Sanjit A. Seshia
Recent attempts to explain the effectiveness of Boolean satisfiability (\(\mathsf {SAT}\)) solvers based on conflict-driven clause learning (CDCL) on large industrial benchmarks have focused on the concept of community structure. Specifically, industrial benchmarks have been empirically found to have good community structure, and experiments seem to show a correlation between such structure and the efficiency of CDCL. However, in this paper we establish hardness results suggesting that community structure is not sufficient to explain the success of CDCL in practice. First, we formally characterize a property shared by a wide class of metrics capturing community structure, including “modularity”. Next, we show that the \(\mathsf {SAT}\) instances with good community structure according to any metric with this property are still \(\mathsf {NP}\)-hard. Finally, we also prove that with high probability, random unsatisfiable modular instances generated from the “pseudo-industrial” community attachment model of Giraldez-Cru and Levy have exponentially long resolution proofs. Such instances are therefore hard for CDCL on average, indicating that actual industrial instances easily solved by CDCL may have some other relevant structure not captured by this model.
conference on computability in europe | 2016
Rafael Valle; Alexandre Donzé; Daniel J. Fremont; Ilge Akkaya; Sanjit A. Seshia; Adrian Freed; David Wessel
We address the problem of mining musical specifications from a training set of songs and using these specifications in a machine improvisation system capable of generating improvisations imitating a given style of music. Our inspiration comes from control improvisation, which combines learning and synthesis from formal specifications. We mine specifications from symbolic musical data with musical and general usage patterns. We use the mined specifications to ensure that an improvised musical sequence satisfies desirable properties given a harmonic context and phrase structure. We present a specification mining strategy based on pattern graphs and apply it to the problem of supervising the improvisation of blues songs. We present an analysis of the mined specifications and compare the results of improvisations generated with and without specifications.
computer aided verification | 2018
Daniel J. Fremont; Sanjit A. Seshia
Reactive synthesis is a paradigm for automatically building correct-by-construction systems that interact with an unknown or adversarial environment. We study how to do reactive synthesis when part of the specification of the system is that its behavior should be random. Randomness can be useful, for example, in a network protocol fuzz tester whose output should be varied, or a planner for a surveillance robot whose route should be unpredictable. However, existing reactive synthesis techniques do not provide a way to ensure random behavior while maintaining functional correctness. Towards this end, we generalize the recently-proposed framework of control improvisation (CI) to add reactivity. The resulting framework of reactive control improvisation provides a natural way to integrate a randomness requirement with the usual functional specifications of reactive synthesis over a finite window. We theoretically characterize when such problems are realizable, and give a general method for solving them. For specifications given by reachability or safety games or by deterministic finite automata, our method yields a polynomial-time synthesis algorithm. For various other types of specifications including temporal logic formulas, we obtain a polynomial-space algorithm and prove matching PSPACE-hardness results. We show that all of these randomized variants of reactive synthesis are no harder in a complexity-theoretic sense than their non-randomized counterparts.
the internet of things | 2016
Ilge Akkaya; Daniel J. Fremont; Rafael Valle; Alexandre Donzé; Edward A. Lee; Sanjit A. Seshia
We consider the problem of generating randomized control sequences for complex networked systems typically actuated by human agents. Our approach leverages a concept known as control improvisation, which is based on a combination of data-driven learning and controller synthesis from formal specifications. We learn from existing data a generative model (for instance, an explicit-duration hidden Markov model, or EDHMM) and then supervise this model in order to guarantee that the generated sequences satisfy some desirable specifications given in Probabilistic Computation Tree Logic (PCTL). We present an implementation of our approach and apply it to the problem of mimicking the use of lighting appliances in a residential unit, with potential applications to home security and resource management. We present experimental results showing that our approach produces realistic control sequences, similar to recorded data based on human actuation, while satisfying suitable formal requirements.
national conference on artificial intelligence | 2014
Supratik Chakraborty; Daniel J. Fremont; Kuldeep S. Meel; Sanjit A. Seshia; Moshe Y. Vardi
national conference on artificial intelligence | 2015
Kuldeep S. Meel; Moshe Y. Vardi; Supratik Chakraborty; Daniel J. Fremont; Sanjit A. Seshia; Dror Fried; Alexander Ivrii; Sharad Malik
national conference on artificial intelligence | 2017
Daniel J. Fremont; Markus N. Rabe; Sanjit A. Seshia
arXiv: Logic in Computer Science | 2014
Daniel J. Fremont; Sanjit A. Seshia
arXiv: Programming Languages | 2018
Daniel J. Fremont; Xiangyu Yue; Tommaso Dreossi; Shromona Ghosh; Alberto L. Sangiovanni-Vincentelli; Sanjit A. Seshia