GGrantIndex
← Search

CAREER: GoldMine:Automatic Assertion Generation in System Design Using Data Mining and Static Analysis

$430,000FY2010CSENSF

University Of Illinois At Urbana-Champaign, Urbana IL

Investigators

Abstract

CAREER: GoldMine:Automatic Assertion Generation in System Design Using Data Mining and Static Analysis Shobha Vasudevan University of Illinois at Urbana Champaign Assertions are summarized statements of design intent that have emerged as the most popular checking artifacts in hardware and software development cycles. In hardware, assertions are used in formal verification, dynamic verification, runtime monitoring, emulation, post-Silicon debug and in-field diagnosis. The generation of assertions today is an intensely manual task. During each system development cycle, many man-months and resources are spent in assertion generation. This work proposes an automatic assertion generation technique and tool, GoldMine, for systems using data mining and static analysis in combination. Data mining infers knowledge by statistical analysis of dynamic behavior of a system. Static analysis reasons with the source code or model of the system without executing it, and analyzes possible behavior. These two technologies can be used synergisti- cally. Static analysis techniques can be used to infer domain information and guide the data mining. GoldMine will provide simulation data of the target design along with static analysis to a suite of data mining algorithms that will infer ?likely invariants?. The likely invariants will be passed through a formal verifier for filtering the true assertions. Feedback from formal verification will be given to the mining algorithms, as will the designer/user evaluation of the generated assertions. This iterative process will produce high quality assertions automatically. Preliminary results have been obtained on Rigel, a 1000+ processor RTL. The marriage between statistical and static analyses proposed here for generating knowledge about a system is a ?meta technique? that can be used in a multitude of forms. A systematic methodology to extract and provide domain knowledge in any structured system, along with statistics based learning techniques can create a very powerful combination. The alliance of static domain analysis and statistical data mining that has been introduced can be used for software systems, embedded systems and other domains where knowledge needs to be inferred. This proposal seeks to automate a manual, all-pervasive system process. This aims at saving economic and human resources, thereby increasing the productivity of the community. GoldMine will also be widely disseminated (along with the source code) for research and education purposes, contributing to practical learning of students. The merit in the system design world is that we are proposing to study and systematize the human cognition aspect of design.

View original record on NSF Award Search →