• user warning: Got error 28 from storage engine query: SELECT t.* FROM drupal_term_node r INNER JOIN drupal_term_data t ON r.tid = t.tid INNER JOIN drupal_vocabulary v ON t.vid = v.vid WHERE r.vid = 5369 ORDER BY v.weight, t.weight, t.name LIMIT 0, 1 in /var/www/dikutal.dk/sites/all/modules/pathauto/pathauto.module on line 142.
  • user warning: Got error 28 from storage engine query: SELECT DISTINCT t.* FROM drupal_term_node r INNER JOIN drupal_term_data t ON r.tid = t.tid INNER JOIN drupal_vocabulary v ON t.vid = v.vid LEFT JOIN drupal_forum_access fa ON t.tid = fa.tid LEFT JOIN drupal_acl acl_fa ON acl_fa.name = t.tid AND acl_fa.module = 'forum_access' LEFT JOIN drupal_acl_user aclu_fa ON aclu_fa.acl_id = acl_fa.acl_id AND aclu_fa.uid = 0 WHERE ((fa.grant_view >= 1 AND fa.rid IN (1)) OR fa.tid IS NULL OR aclu_fa.uid = 0) AND ( r.vid = 11241 )ORDER BY v.weight, t.weight, t.name in /var/www/dikutal.dk/modules/taxonomy/taxonomy.module on line 632.
Dato: 
14. September 2011 - 15:00 - 16:00

In this talk, I will present Javert, the first general specification mining framework that can learn, fully automatically, complex temporal properties from execution traces.

Abstract

Program specifications are important in many phases of the software development process, but they are often omitted or incomplete. An important class of specifications takes the form of temporal properties that prescribe proper usage of components of a software system. Recent work has focused on the automated inference of temporal specifications from the static or runtime behavior of programs. However, existing techniques mine only simple patterns or a single complex pattern restricted to some manually selected events. There is no practical, automatic technique that can mine general temporal properties.

In this talk, I will present Javert, the first general specification mining framework that can learn, fully automatically, complex temporal properties from execution traces. It is based on two insights: 1) there is much regulartiy in the search space of learning all instances of a generic pattern, such as the alternating pattern (ab)*; and 2) real, complex specifications can be formed by composing instances of small generic patterns. These motivate us to introduce a symbolic algorithm to exploit the regularity in learning generic patterns and sound inference rules to construct complex specifications from atomic patterns. Javert is general, precise, and scalable. It can discover many interesting, nontrivial specifications in real-world code that
are beyond the reach of existing automatic techniques.

Bio

Zhendong Su is a Professor and Chancellor's Fellow at University of California, Davis. He received his PhD in Computer Science from University of California, Berkeley. His research focuses on developing practical techniques and tools for improving software quality and
programming productivity. He serves as an Associate Editor for ACM Transactions on Software Engineering and Methodology (ACM TOSEM), co-chaired the 2009 Static Analysis Symposium (SAS), and is the program chair of the 2012 International Symposium on Software Testing and Analysis (ISSTA).

*Scientific host:* Fritz Henglein
*Administrative host:* Jette Møller

All are welcome. No registration required.


Warning: The table 'drupal_watchdog' is full query: INSERT INTO drupal_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:641:\"The table 'drupal_sessions' is full\nquery: UPDATE drupal_sessions SET uid = 0, cache = 0, hostname = '212.60.126.51', session = 'messages|a:1:{s:5:\\"error\\";a:1:{i:0;s:329:\\"user warning: Got error 28 from storage engine\\nquery: SELECT t.* FROM drupal_term_node r INNER JOIN drupal_term_data t ON r.tid = t.tid INNER JOIN drupal_vocabulary v ON t.vid = v.vid WHERE r.vid = 11241 ORDER BY v.weight, t.weight, t.name LIMIT 0, 1 in /var/www/dikutal.dk/sites/all/modules/pathauto/pathauto.module on line 142.\\";}}', timestamp = 1413977108 WHERE sid = '65cd3d76 in /var/www/dikutal.dk/includes/database.mysqli.inc on line 134