An Extensible Meta-Model for Program Analysis
IEEE Transactions on Software Engineering
Can we refactor conditional compilation into aspects?
Proceedings of the 8th ACM international conference on Aspect-oriented software development
How to compare program comprehension in FOSD empirically: an experience report
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
TypeChef: toward type checking #ifdef variability in C
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Partial preprocessing C code for variability analysis
Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems
Analyzing the discipline of preprocessor annotations in 30 million lines of C code
Proceedings of the tenth international conference on Aspect-oriented software development
FeatureCommander: colorful #ifdef world
Proceedings of the 15th International Software Product Line Conference, Volume 2
Variability-aware parsing in the presence of lexical macros and conditional compilation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Type checking annotation-based product lines
ACM Transactions on Software Engineering and Methodology (TOSEM)
SuperC: parsing all of C by taming the preprocessor
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Program comprehension in preprocessor-based software
SAFECOMP'12 Proceedings of the 2012 international conference on Computer Safety, Reliability, and Security
Coevolution of variability models and related artifacts: a case study from the Linux kernel
Proceedings of the 17th International Software Product Line Conference
Do background colors improve program comprehension in the #ifdef hell?
Empirical Software Engineering
Does the discipline of preprocessor annotations matter?: a controlled experiment
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
Developing and maintaining large industrial software products implies programming-in-the-large activities. Related concepts are usually represented in terms of low level features such as file system hierarchies, preprocessor files, makefiles, shell scripts, sccs archives, etc. Understanding the information embedded in such artifacts is an important but difficult task, especially with neither conceptual framework, nor tool assistance. To emphasize the importance of this issue, this paper makes the distinction between understanding-in-the-large and understanding-in- the-small. Using a conceptual classification, understanding-in-the-large problems are described in a structured way. Difficulties in building reverse-engineering- in-the-large tools are then analyzed and illustrated taking preprocessor files as a case study. The Champollion approach to these problems is briefly presented.