Learn More
Statistical debugging uses machine learning to model program failures and help identify root causes of bugs. We approach this task using a novel Delta-Latent-Dirichlet-Allocation model. We model execution traces attributed to failed runs of a program as being generated by two types of latent topics: normal usage topics and bug topics. Execution traces(More)
Mulhern Automated proof assistants provide few facilities for incremental development. Generally, if the underlying structures on which a proof is based are modified, the developer must redo much of the proof. Yet incremental development is really the most natural approach for proofs of programming language properties [5, 12]. We propose " proof weaving " ,(More)
Modern integrated development environments (IDEs) provide programmers with a variety of sophisticated tools for program visualization and manipulation. These tools assist the programmer in understanding legacy code and making coordinated changes across large parts of a program. Similar tools incorporated into an integrated proof environment (IPE) would(More)
i I wish to thank Charles Fischer and Ben Liblit, sine quibus non. Others who have contributed significantly to the progress of this thesis are: • The people who have attended my Coq seminars. • The members of the CBI team, past and present. • The members of the administrative staff in the department, past and present. I would like to thank them as well. I(More)
Coq's inversion tactic fails when it is required to invert an hypothesis in Prop to prove a goal that is not in Prop. There are some exceptions to this rule. • If the type of the hypothesis has zero constructors the inversion tactic succeeds. • If the type of the hypothesis has just one constructor, and deconstructing the term yields no further information(More)