GCC Introspector is a software interface to the GNU Compiler Collection. It is built on Perl, RDF, XML, and SQL technologies.
Similar to a telephone switchboard that connects multiple parties, the Introspector enables multiple consumers and producers of software data to easily and painlessly transfer information to one another. This data, known as meta-data, is read and written through existing software tools via a standardized plug-in interface.
Each producer has its own unique flavor and format of data that it stores about software. This is where the Introspector shines, as it allows each piece of software to communicate in its native language. Using plug-ins that act like network cards in an ethernet, the Introspector allows for the quick and efficient broadcasting of meta-data to a network of consumers.
Underlying the Introspector's capabilities is the use of RDF, or Resources Description Format. RDF is the foundation of the Semantic Web, where hypertext links are replaced by meaningful references to resources of type and quality. The Introspector uses the Redland RDF Application Framework for parsing and serializing, storing and retrieving, and querying and traversing the RDF data.
To create efficient indexing, the Introspector uses the Berkley DB storage mechanism. The SWIG Simplified Wrapper Interface Generator provides native language interfaces for all major programming systems. The GCC interface uses Redland to create repositories of data that can be processed by any tool needed.
Experiments have been conducted whereby the graph data is compiled into arrays, thus creating "ICE Cubes". These cubes are able to be traversed even quicker than the Redland database. Using the same introspector API that provides access to Redland, these "ICE Cubes" will be available once the technology is launched.
Overall, the Introspector provides an essential service to programmers by allowing them to communicate with one another in a standardized way that reduces costs and streamlines the programming process.
Version 0.7: N/A