Rigi-A system for programming-in-the-large
ICSE '88 Proceedings of the 10th international conference on Software engineering
The syntax definition formalism SDF—reference manual—
ACM SIGPLAN Notices
The Computer Journal - Special issue on procedural programming
Design, implementation and evaluation of the FNC-2 attribute grammar system
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
A meta-environment for generating programming environments
ACM Transactions on Software Engineering and Methodology (TOSEM)
A new model of program dependences for reverse engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Attribute grammar paradigms—a high-level methodology in language implementation
ACM Computing Surveys (CSUR)
Lightweight source model extraction
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
An empirical study of static call graph extractors
ACM Transactions on Software Engineering and Methodology (TOSEM)
A relational approach to support software architecture analysis
Software—Practice & Experience
ICSE '85 Proceedings of the 8th international conference on Software engineering
Universal Regular Path Queries
Higher-Order and Symbolic Computation
Set Constraints: Results, Applications, and Future Directions
PPCP '94 Proceedings of the Second International Workshop on Principles and Practice of Constraint Programming
The ASF+SDF Meta-environment: A Component-Based Language Development Environment
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Viewing A Program Transformation System At Work
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Implementing relational views of programs
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
GXL: Toward a Standard Exchange Format
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
How Understanding and Restructuring Differ from Compiling " A Rewriting Perspective
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Extracting Facts from Open Source Software
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Efficient Relational Calculation for Software Analysis
IEEE Transactions on Software Engineering
An Extensible Meta-Model for Program Analysis
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Keynote Address: .QL for Source Code Analysis
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
The JastAdd system — modular extensible compiler construction
Science of Computer Programming
CodeQuest: scalable source code queries with datalog
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Extracting facts from software source code forms the foundation for any software analysis. Experience shows, however, that extracting facts from programs written in a wide range of programming and application languages is labour-intensive and error-prone. We present DeFacto , a new technique for fact extraction. It amounts to annotating the context-free grammar of a language of interest with fact annotations that describe how to extract elementary facts for language elements such as, for instance, a declaration or use of a variable, a procedure or method call, or control flow statements. Once the elementary facts have been extracted, we use relational techniques to further enrich them and to perform the actual software analysis. We motivate and describe our approach, sketch a prototype implementation and assess it using various examples. A comparison with other fact extraction methods indicates that our fact extraction descriptions are considerably smaller than those of competing methods.