Completeness of a fact extractor
Yuan Sheng Lin, Richard C. Holt, Andrew J. Malton · 2004
The process of software reverse engineering commonlyuses an extractor, which parses source code and extractsfacts about the code. The level of detail in these factsvaries from extractor to extractor. This paper describesfour levels of increasingly detailed completeness of thesefacts: (semantic completeness, compiler completeness,syntax completeness and source completeness) andintroduces the concept of relative completeness ofextractors. Validating that an extractor correctlyproduces facts at a given level of completeness is ingeneral very challenging. This paper gives a method forvalidating the semantic completeness of an extractor, anddescribes the application of this method to CPPX, anextractor for C or C++ based on GCC.