Software Libraries as Language Extensions
Like domain-specific languages (DSLs), software libraries are small special-purpose languages at a high level of abstraction. Unlike DSLs, however, software libraries do not constitute new languages but rather are embedded in existing general-purpose languages and can therefore benefit from the tools available for those. Yet, those tools provide support only for the implementation of a library, not for the abstractions for which it is
used.
This talk argues that safe and efficient library-centric software development requires static analyses at the level of libraries and presents selected analyses for generic libraries in C++.
