Sciweavers

PLDI
2009
ACM

Automatic generation of library bindings using static analysis

15 years 6 days ago
Automatic generation of library bindings using static analysis
High-level languages are growing in popularity. However, decades of C software development have produced large libraries of fast, timetested, meritorious code that are impractical to recreate from scratch. Cross-language bindings can expose low-level C code to high-level languages. Unfortunately, writing bindings by hand is tedious and error-prone, while mainstream binding generators require extensive manual annotation or fail to offer the language features that users of modern languages have come to expect. We present an improved binding-generation strategy based on static analysis of unannotated library source code. We characterize three high-level idioms that are not uniquely expressible in C's lowlevel type system: array parameters, resource managers, and multiple return values. We describe a suite of interprocedural analyses that recover this high-level information, and we show how the results can be used in a binding generator for the Python programming language. In experim...
Tristan Ravitch, Steve Jackson, Eric Aderhold, Ben
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where PLDI
Authors Tristan Ravitch, Steve Jackson, Eric Aderhold, Ben Liblit
Comments (0)