Abstract | ||
---|---|---|
Meta-programs are generic, incomplete, adaptable programs that are instantiated at construction time to meet specific requirements. Templates and generative techniques are examples of meta-programming techniques. Understanding of meta-programs is more difficult than understanding of concrete, executable programs. Static and dynamic analysis methods have been applied to ease understanding of programs - can similar methods be used for meta-programs? In our projects, we build meta-programs with a meta-programming technique called XVCL. Meta-programs in XVCL are organized into a hierarchy of meta-components from which the XVCL processor generates concrete, executable programs that meet specific requirements. We developed an automated system that analyzes XVCL meta-programs, and presents developers with information that helps them work with meta-programs more effectively. Our system conducts both static and dynamic analysis of a meta-program. An integral part of our solution is a query language, FQL in which we formulate questions about meta-program properties. An FQL query processor automatically answers a class of queries. The analysis method described in the paper is specific to XVCL. However, the principle of our approach can be applied to other meta-programming systems. We believe readers interested in meta-programming in general will find some of the lessons from our experiment interesting and useful. |
Year | DOI | Venue |
---|---|---|
2006 | 10.1142/S0218194006002689 | INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING |
Keywords | Field | DocType |
meta-programs, program understanding, program analysis, program queries, debugging | Data mining,Query language,Programming language,Software engineering,Computer science,Generative grammar,Program analysis,Hierarchy,Debugging,Executable | Journal |
Volume | Issue | ISSN |
16 | 1 | 0218-1940 |
Citations | PageRank | References |
0 | 0.34 | 0 |
Authors | ||
5 |
Name | Order | Citations | PageRank |
---|---|---|---|
stan jarzabek | 1 | 843 | 90.16 |
Hongyu Zhang | 2 | 251 | 26.39 |
Ru Shen | 3 | 23 | 3.38 |
Vu Tung Lam | 4 | 0 | 0.34 |
Zhenxin Sun | 5 | 36 | 5.27 |