See this document in CiteSeerX!

An Empirical Analysis of C Preprocessor Use (2002)  (Make Corrections)  (4 citations)
Michael D. Ernst, Greg J. Badros, David Notkin



  Home/Search   Context   Related

 
View or download:
mit.edu/pubs/cpre...cessortse2002.pdf
Cached:  PS.gz  PS  PDF   Image  Update  Help

From:  mit.edu/pubs/MichaelDErnst (more)
(Enter author homepages)

Rate this article: (best)
  Comment on this article  
(Enter summary)

Abstract: This is the first empirical study of the use of the C macro preprocessor, Cpp. To determine how the preprocessor is used in practice, this paper analyzes 26 packages comprising 1.4 million lines of publicly available C code. We determine the incidence of C preprocessor usage---whether in macro definitions, macro uses, or dependences upon macros---that is complex, potentially problematic, or inexpressible in terms of other C or C++ language features. We taxonomize these various aspects of... (Update)

Cited by:   More
Global Analysis and Transformations in Preprocessed Languages - Spinellis (2003)   (Correct)
Columbus Schema for C/C++ Preprocessing - Vidacs, Beszedes, Ferenc   (Correct)
Opening Up The C/C++ - Preprocessor Black Box   (Correct)

Similar documents (at the sentence level):
66.2%:   An Empirical Analysis of C Preprocessor Use - Ernst, Badros, Notkin (2002)   (Correct)

Active bibliography (related documents):   More   All
0.5:   Reverse-Engineering and Configuration Management: Concepts and.. - team (1996)   (Correct)
0.3:   Geometric Computing with CGAL and LEDA - Kurt Mehlhorn And   (Correct)
0.3:   The CPP paradox - Favre (1995)   (Correct)

Related documents from co-citation:   More   All
3:   Programming Language (context) - Stroustrup, The - 1986
2:   or portability experience with C News (context) - Spencer, Collyer et al. - 1992
2:   Reference Manual (context) - Ellis, Barnestroup - 1990

BibTeX entry:   (Update)

Ernst, M., G.J. Badros, and D. Notkin (1997). An Empirical analysis of C Preprocessor Use. Technical Report UW-CSE-97-04-06, Department of Computer Science and Engineering, University of Washington. http://citeseer.ist.psu.edu/ernst02empirical.html   More

@techreport{ ernst97empirical,
    author = "M. Ernst and G. J. Badros and D. Notkin",
    title = "An Empirical Analysis of {C} Preprocessor Use",
    number = "TR-97-04-06",
    year = "1997",
    url = "citeseer.ist.psu.edu/ernst02empirical.html" }
Citations (may not include all citations):
484   Common Lisp: The Language (context) - Jr - 1990
476   Programming Language (context) - Kernighan, Ritchie - 1988
423   The Art of the Metaobject Protocol (context) - Kiczales, Rivie et al. - 1991
296   Free Software Foundation (context) - Stallman, Porting et al. - 1996
296   Free Software Foundation (context) - Stallman, Manual et al. - 1994
217   Human Behavior and the Principle of Least Effort (context) - Zipf - 1949
135   Object Oriented Programming: An Evolutionary Approach (context) - Cox, Novobilski - 1991
68   Hygienic Macro Expansion (context) - Kohlbecker, Friedman et al. - 1986
63   LCLint: A Tool for Using Specifications to Check Code - Evans, Guttag et al. - 1994
62   A Framework for Source Code Search Using Program Patterns - Paul, Prakash - 1994
50   The Design and Evolution of C (context) - Stroustrup - 1994
47   An Empirical Study of Static Call Graph Extractors - Murphy, Notkin et al. - 1996
40   the Inference of Configuration Structures from Source Code - Krone, Snelting - 1994
38   Programmable Syntax Macros - Weise, Crew - 1993
29   A Reference Manual (context) - Harbison, Jr - 1995
28   An Interactive High-Level Debugger for ControlFlow Optimized.. (context) - Zellweger - 1983
15   LCLint User's Guide (context) - Evans - 1996
15   Program Generalization for Software Reuse: From C to C - Siff, Reps - 1996
15   Understanding Code Containing Preprocessor Constructs - Livadas, Small - 1994
14   Style and Coding Standards (context) - Cannon, Elliott et al. - 1990
13   Lint, a C Program Checker - Johnson - 1977
11   Preprocessors from an Abstract Point of View (context) - Favre - 1996
9   Using Partial Evaluation in Support of Portability, Reusabil.. (context) - Salomon - 1996
8   Using Version Control Data to Evaluate the Impact of Softwar.. - Atkins, Ball et al. - 1999
6   A Framework for Preprocessor-Aware C Source Code Analyses - Badros, Notkin - 2000
5   Notes on Writing Portable Programs in C - Dolenc, Keppel et al. - 1990
5   Static Detection of Preprocessor Macro Errors in C (context) - Spuler, Sajeev - 1992
4   Scwm Reference Manual: The Authoritative Guide to the Emacs .. (context) - Stachowiak, Badros - 1999
4   Preprocessor Manual (context) - Project - 1996
4   The Revised 5 Report on the Algorithmic Language Scheme (context) - Kelsey, Clinger et al. - 1998
4   GNU Coding Standards (context) - Stallman - 1997
3   ifdef Considered Harmful, or Portability Experience with C N.. (context) - Spencer, Collyer - 1992
3   Designing and Coding Reusable C (context) - Carroll, Ellis - 1995
2   ghostscript distribution from Aladdin Enterprises (context) - Deutsch, knr - 1990
2   Fast, Flexible Syntactic Pattern Matching and Processing - Griswold, Atkinson et al. - 1996
2   Programming in C++: Rules and Recommendations (context) - Systems - 1992
2   Examining C++ Program Analyzers (context) - Meyers, Klaus - 1997
2   Metrics Collection Tools for C and C++ Source Code (context) - Lott - 1998
2   Comparison of Subjective Entropy and User Estimates of Softw.. (context) - Davis, Davis et al. - 1990
2   PC-lint/FlexeLint (context) - Software - 1999

Documents on the same site (http://pag.csail.mit.edu/pubs/Michael-D-Ernst.html):   More
Quickly Detecting Relevant Program Invariants - Ernst, Czeisler, Griswold.. (1999)   (Correct)
Dynamically Discovering Likely Program Invariants - Ernst (2000)   (Correct)
Static verification of dynamically detected program.. - Nimmer, Ernst (2001)   (Correct)

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC