A comparative study of techniques to write customizable libraries

Barış Aktemur, Sam Kamin · 2009

Code libraries are characterized by feature-richness — and, consequently, high overhead. The library specialization prob-lem is the problem of obtaining a low-overhead version of li-brary code when the rich feature set is not needed. A version of that problem is this: Given a class with certain core func-tionality and some “optional ” features, how can we offer the client a menu of features such that the specific class answer-ing this request is unencumbered by fields or computation not needed for the requested features? This paper presents a comparative study of several approaches to this version of the library specialization problem. We evaluate object-oriented programming, feature-oriented programming, col-ored IDE, aspect-oriented programming, C-style preproces-sor directives, and fragment-oriented program generation. We find that all of these techniques have shortcomings.

Read the paper · More papers on PaperTik