loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
22nd IEEE International Conference on Software Maintenance (ICSM'06)
Source-Level Linkage: Adding Semantic Information to C++ Fact-bases
Philadelphia, Pennsylvania
September 24-September 27
ISBN: 0-7695-2354-4
Daqing Hou, University of Alberta
H. James Hoover, University of Alberta
Facts extracted from source code have been used to support a variety of software engineering activities, ranging from architectural understanding, through detection of design patterns, to program exploration. Several fact extractors have been developed and published in the literature, but most of them extract facts only from individual compilation units. Linking multiple fact-bases is largely overlooked. Source-level linkage is different from compilation linkage. Its goal is to assist a software engineer, not to produce an executable program. Thus a source-level linker needs to collect as many as possible facts that may be potentially helpful to a software engineer?s task, many of which are not available from a compiler linker. We present the design of a source-level linker for C++. This linker has been used to analyze a dozen of Microsoft Foundation Classes (MFC) programs and over 200 C++ programs that cover an extensive subset of C++ features, including templates from the Standard Template Library (STL). As a further validation, we design a Structural Constraint Language, SCL, to express and machine-check a wide range of constraints on the Abstract Semantics Graph (ASG) produced by the linker
Index Terms:
source-level linkage, fact extraction, name resolution, type analysis, C++, Datrix
Citation:
Daqing Hou, H. James Hoover, "Source-Level Linkage: Adding Semantic Information to C++ Fact-bases," icsm, pp.448-457, 22nd IEEE International Conference on Software Maintenance (ICSM'06), 2006
Usage of this product signifies your acceptance of the Terms of Use.