SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
C and tcc: a language and compiler for dynamic code generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Implementing Layered Designs with Mixin Layers
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Jumbo: run-time code generation for Java and its applications
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Compiling for template-based run-time code generation
Journal of Functional Programming
IEEE Transactions on Software Engineering
A polymorphic modal type system for lisp-like multi-staged languages
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A modal type system for multi-level generating extensions with persistent code
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
cJ: enhancing java with safe type conditions
Proceedings of the 6th international conference on Aspect-oriented software development
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
Type-Checking Software Product Lines - A Formal Approach
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Statically safe program generation with safegen
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
A tutorial on feature oriented programming and the AHEAD tool suite
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Combining concern input with program analysis for bloat detection
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
Code libraries are characterized by feature-richness --- and, consequently, high overhead. The library specialization problem is the problem of obtaining a low-overhead version of library code when the rich feature set is not needed. A version of that problem is this: Given a class with certain core functionality and some "optional" features, how can we offer the client a menu of features such that the specific class answering 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, colored IDE, aspect-oriented programming, C-style preprocessor directives, and fragment-oriented program generation. We find that all of these techniques have shortcomings.