School of Computing UofU calendar UofU index UofU directory Map About Salt Lake SoC Calendar University of Utah University of Utah
Colloquium

Coen De Roover & Jens Nicolay
Vrije Universiteit Brussel


Tuesday May 28, 2013
3147 MEB
Refreshment 3:20 p.m.
Lecture 3:40 p.m.


Title: Declarative Development Tools for Preventing, Detecting and Correcting Defects

Abstract
In this talk, we present a Clojure library for answering program queries (e.g., "is my code bug free?"), answering history queries (e.g., "has test-driven development been adhered to?") as well as transforming programs (e.g., "patch my code as follows") in a declarative manner. We focus on its domain-specific extensions to logic programming that facilitate specifying the characteristics of the sought after source code idioms and source code evolutions. We conclude with the desire to detect such declaratively specified idioms and evolutions during the computation of program analyses. This should enable handling programs with idiomatic uses of reflection and DSL embeddings, at the cost of introducing a mutual dependency between idiom detection and its enabling analyses.

Title: A Generic Abstract Interpreter for JavaScript

Abstract
JIPDA is a generic abstract interpreter for JavaScript, written in JavaScript. Its goal is to provide a common foundation for static analysis of JavaScript. JIPDA attempts to be generic by fixing JavaScript semantics and as little else as possible. Still, pluggable data and behavior needs to conform to minimal specifications, and it is interesting to examine where and how much JavaScript semantics influence these specifications. The abstract interpreter models the stack and the heap, and features abstract garbage collection and strong updating based on abstract counting for increased precision. From an implementation point of view, it is probably closer to a standard SICP-style evaluator with an eval-apply-cycle than a state machine. The first experiments that use JIPDA do not rely on mapping over an entire set of visited states, but instead use meta-programming to intercept calls to the evaluator. Return to 2013 Events Calendar


School of Computing • 50 S. Central Campus Dr. Rm. 3190 • Salt Lake City, UT 84112
801-581-8224 • Fax: 801-581-5843 • Send comments to webmaster@cs.utah.edu
Disclaimer