> --- Wednesday, December 5 ---
> 4:00 pm, 1325 CS
> Programming Languages Seminar: Glenn Ammons and Shai Rubin, "POPL 2002
> double-header"
>
> The Programming Languages Seminar this week is a double-header of
> papers accepted to POPL 2002. First, Glenn presents his paper,
> "Mining Specifications":
>
> Program verification is a promising approach to improving
> program quality, because it can search all possible program
> executions for specific errors. However, the need to formally
> describe correct behavior or errors is a major barrier to the
> widespread adoption of program verification, since programmers
> historically have been reluctant to write formal specifications.
> Automating the process of formulating specifications would
> remove a barrier to program verification and enhance its
> practicality.
>
> This paper describes specification mining, a machine learning
> approach to discovering formal specifications of the protocols
> that code must obey when interacting with an application program
> interface or abstract data type. Starting from the assumption
> that a working program is well enough debugged to reveal strong
> hints of correct protocols, our tool infers a specification by
> observing program execution and concisely summarizing the
> frequent interaction patterns as state machines that capture
> both temporal and data dependences. These state machines can be
> examined by a programmer, to refine the specification and
> identify errors, and can be utilized by automatic verification
> tools, to find bugs.
>
> Our preliminary experience with the mining tool has been
> promising. We were able to learn specifications that not only
> captured the correct protocol, but also discovered serious bugs.
>
> This is joint work with Prof. Ras Bodik from UW and James
> R. Larus, from Microsoft Research.
>
> Next, Shai presents his paper, "An Efficient Profile-Analysis
> Framework for Data-Layout Optimization":
>
> Data-layout optimizations rearrange fields within objects,
> objects within objects, and objects within the heap, with the
> goal of increasing spatial locality. While the importance of
> data-layout optimizations has been growing, their deployment has
> been limited, partly because they lack a unifying framework.
>
> In this talk we present a parameterizable framework for
> data-layout optimization of general-purpose
> applications. Acknowledging that finding an optimal layout is
> not only NP-hard, but also poorly approximable, our framework
> finds a good layout by searching the space of possible layouts,
> with the help of profile feedback. The search process
> iteratively prototypes candidate data layouts, evaluating them
> by "simulating" the program on a representative trace of memory
> accesses. To make the search process practical, we develop
> space-reduction heuristics and optimize the expensive simulation
> via memoization.
>
> Equipped with this iterative approach, we can synthesize layouts
> that outperform existing non-iterative heuristics, tune
> application-specific memory allocators, as well as compose
> multiple data-layout optimizations.
>
> This is a joint work with Prof. Ras Bodik from UW and Trishul
> Chilimbi from Microsoft Research.
>
|