Incomplete source code naturally emerges in software development: during design phase, while evolving, testing and analyzing programs. Therefore, the ability to understand partial programs is a valuable asset. However, this problem is still unsolved in the C programming language. Difficulties stem from the fact that parsing C requires, not only syntax, but also semantic information. Furthermore, inferring types so that they respect C’s type system is a challenging task. In this paper we present a technique the lets us solve these problems. We provide a unification-based type inference capable of dealing with C intricacies. The ideas we present let us reconstruct partial C programs into complete well-typed ones. Such program reconstruction has several applications: enabling static-analysis tools in scenarios where software components may be absent; improving static-analysis tools that do not rely on build-specifications; allowing stub-generation and testing tools to work on snippets; and assisting programmers on the extraction of reusable data-structures out of the program parts that use them. Our evaluation is performed on source code from a variety of C libraries such as GNU’s Coreutils, GNULib, GNOME’s GLib, GDSL, and igraph; on implementations from Sedgewick’s books; and on snippets from popular open-source projects like CPython, FreeBSD, and Git.
Thu 11 JanDisplayed time zone: Tijuana, Baja California change
10:30 - 12:10 | |||
10:30 25mTalk | Inference of Static Semantics for Incomplete C Programs Research Papers Leandro T. C. Melo UFMG, Rodrigo Geraldo Ribeiro UFOP, Marcus Rodrigues de Araújo UFMG, Fernando Magno Quintão Pereira UFMG Pre-print | ||
10:55 25mTalk | Optimal Dyck Reachability for Data-dependence and Alias Analysis Research Papers | ||
11:20 25mTalk | Data-centric Dynamic Partial Order Reduction Research Papers Marek Chalupa Masaryk University, Krishnendu Chatterjee IST Austria, Andreas Pavlogiannis IST Austria, Kapil Vaidya IIT Bombay, Nishant Sinha IBM Research | ||
11:45 25mTalk | Analytical Modeling of Cache Behavior for Affine Programs Research Papers Wenlei Bao Ohio State University, Sriram Krishnamoorthy Pacific Northwest National Laboratories, Louis-Noël Pouchet Colorado State University, P. Sadayappan Ohio State University |