| R. F. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 229--242, 1997. |
....a second order effect in the sense that early phases can dynamically create new rules and scripts for later phases that are custom tailored to the current DSL specification. Finally, Stratego does not use TD control. The pattern language is also similar to the work of Wile [41, 42] and Crew [14]. Popart leans more toward an architecture driven by compiling and parsing notions. As such, it is influenced less by logic programming. On the other hand, ASTLOG is more similar to the AOG pattern language in that it is influenced by logic programming [13, 28] However, ASTLOG s architecture is ....
Crew, R. F.: ASTLOG: A Language for Examining Abstract Syntax Trees. Proceedings of the USENIX Conference on Domain-Specific Languages, Santa Barbara, California (1997)
....However text oriented tools are not sufficiently powerful and are unable to perform operations based on syntactic or semantic structure. Many existing full featured program transformation tools operate on program source code represented as annotated syntax trees. Notable examples include ASTLog [Crew 97] TAWK [Griswold 96] A [Ladd 95] REFINE [Burson 90] TXL [Cordy 88] and the Intentional Programming environment [Simonyi 95] Although powerful, tree based notations exhibit significant usability issues even for expert programmers. Because the structure represented by a tree based notation ....
Crew, R.F. ASTLOG: A language for examining abstract syntax trees. Proceedings of the First Conference on Domain Specific Languages, 1997, p. 229---242.
....the return address before the jump. Any run time approach, however, will always incur an overhead (of 40 in the case of StackGuard [10] Moreover, as pointed out in [12] these run time systems e ectively just turn a bu er over ow attack into a denial of service attack. Finally, the AST ToolKit [6] has been used to detect errors in string manipulation, though details on this work are sparse [8] 6 Future work One direction for future work will be to investigate the extent to which polyhedral sub domains [16] impact on the precision of bu er overrun analysis; a programmer might be willing ....
R. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. In Conference on Domain-Speci c Languages, pages 229-242. USENIX Association, 1997.
....developer to restructure code) forward chaining could be better. We currently research how to integrate a forward chainer with our approach. A whole range of related work exists that focus on enforcing or constraining the structure of objectoriented programs. For C there is CCEL [15] or Astlog [7]. For Java, CoffeeStrainer [3] is a preprocessor that allows to express structural constraints on Java code. Like law governed systems and N eOpus, all these approaches are restricted to constraining the structure of a program but provide little or no support for querying and code generation. ....
Roger F. Crew. Astlog: A language for examining abstract syntax trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, 1997.
....of open compiler systems that allow programmers to add analysis routines, usually modeled as extensions, that traverse the compiler s abstract syntax tree. These include Lord s ctool [22] which allows scheme extensions to walk over an abstract syntax tree for C, and Crew s Prolog based ASTLOG [7], also used for C. Lamping et al. 21] and Kiczales et al. 17] argue for pushing domain specific information into compilation. They use meta object protocols (MOPs) to allow programs to be augmented with a meta part that controls the base [17] Such protocols are typically dynamic and have ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the First Conference on Domain Specific Languages, pages 229-- 242, October 1997.
....information and can catch very convoluted race conditions. In contrast, the static checkers are shallower, but more light weight and do not need to simulate any protocol code. We could have potentially used other open compilers to extract models. These include Lord s ctool [16] Crew s ASTLOG [9], Shigeru Chiba s Open C [5, 6] and Srivastava and Eustace s ATOM [20] object code modification system. However, it appears that the first three would have required extensive retooling to support the analysis we needed. ATOM, on the other hand, works at too low a level for our purposes. There ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proc. of the First Conf. on Domain Specific Languages, pages 229--242, Oct. 1997.
....information and can catch very convoluted race conditions. In contrast, the static checkers are shallower, but more light weight and do not need to simulate any protocol code. We could have potentially used other open compilers to extract models. These include Lord s ctool [16] Crew s ASTLOG [9], Shigeru Chiba s Open C [5, 6] and Srivastava and Eustace s ATOM [20] object code modification system. However, it appears that the first three would have required extensive retooling to support the analysis we needed. ATOM, on the other hand, works at too low a level for our purposes. There ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proc. of the First Conf. on Domain Specific Languages, pages 229--242, Oct. 1997.
....between classes as, for instance, object instantiation, method invocation or attribute access. However, we consider that recovering information about object collaborations, including the use of polymorphism, is indispensable for effective detection of pattern based design constructions. Crew [6] defines a language for analyzing syntactic artifacts in abstract syntax trees of C C programs. Although we can also search for patterns using source code as input, our main focus is to detect constructions in OO design models and provide an OO design expertise repository. Unlike the approach ....
Crew, R.F., "ASTLOG: A Language for Examining Abstract Syntax Trees", Usenix Conference on Domain-Specific Languages, 1997
....languages. Their domains can be grouped into the following areas: ffl Software Engineering Financial products [12, 22, 24] behavior control and coordination [9, 10] software architectures [54] and databases [39] ffl Systems Software Description and analysis of abstract syntax trees [77, 19, 51], video device driver specifications [76] cache coherence protocols [15] data structures in C [72] and operating system specialization [63] ffl Multi Media Web computing [14, 35, 4, 33] image manipulation [73] 3D animation [29] and drawing [44] ffl Telecommunications String and tree ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Ramming [64], pages 229--242. Introduces a Prolog-based query language for analyzing abstract syntax trees of C/C++ programs.
....domain specific languages. Their domains can be grouped into the following areas: Software Engineering Financial products [12, 22, 24] behavior control and coordination [9, 10] software architectures [54] and databases [39] Systems Software Description and analysis of abstract syntax trees [77, 19, 51], video device driver specifications [76] cache coherence protocols [15] data structures in C [72] and operating system specialization [63] Multi Media Web computing [14, 35, 4, 33] image manipulation [73] 3D animation [29] and drawing [44] Telecommunications String and tree languages ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Ramming [64], pages 229--242. Introduces a Prolog-based query language for analyzing abstract syntax trees of C/C++ programs.
....tree restructured, and the restructured tree unparsed. The Sage class library enables construction and insertion of profiling objects at the beginning of routine structures during the second step. It was used in previous versions of TAU, but does not adequately support templates. The ASTLOG [10] language was developed for an analysis and debugging tool. Like the IL Analyzer, this tool extracts high level interfaces from C code, accessing the syntax tree via userdefined node traversal and pattern matching predicates, and accumulating query results using the underlying set predicates of ....
R. E. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. Proceedings of the Conference on Domain-Specific Languages, pp. 229-242, October 1997.
....of open compiler systems that allow programmers to add analysis routines, usually modeled as extensions, that traverse the compiler s abstract syntax tree. These include Lord s ctool [22] which allows scheme extensions to walk over an abstract syntax tree for C, and Crew s Prolog based ASTLOG [7], also used for C. Lamping et al. 21] and Kiczales et al. 17] argue for pushing domain speci c information into compilation. They use meta object protocols (MOPs) to allow programs to be augmented with a meta part that controls the base [17] Such protocols are typically dynamic and have ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the First Conference on Domain Specic Languages, pages 229{ 242, October 1997.
....executable. Likewise, the intermediate representation of MJL or its interpretation can be optimized or refined by changing the C code used internally, or the Gen code for the analyzer, as appropriate. This simplifies the porting of MoHCA Java to other C analyzer tools such as ASTLog [1]. Figure 1 provides a high level overview of MoHCA Java s design and function. Rules take the general form properties: conditions=action. MJL contains constructs for nested conditions, boolean operations, slot traversal, and explicit invocation of rules. Rules can be assigned several optional ....
....Fall 1999. Currently the basic MJL rule set covers most language di#erences between C and Java. Rule sets for various libraries such as the Unix system calls, string functions, etc. have also been written. Depending on available support, we also plan to port it to other source analysis tools [1]. ....
R. F. Crew. Astlog: A language for examining abstract syntax trees. In Proceedings, First Usenix Conference on Domain-Specific Languages, October 1997.
....the mathematical structures underlying the interchange format and the concrete syntax for noting down the information to be interchanged. Looking at the kind of abstract syntax used in reengineering approaches for internal source code representation one can identify syntax tree based approaches [8], relational and algebraic approaches, 11, 31, 39] graphbased approaches [7, 15, 34, 38] and concept lattice approaches [45] Domain specific schema information is explicitly stored in generic reengineering tools as RIGI [38] PBS [20] or GUPRO [15] For exporting these internal data ....
R. F. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. In Proceedings of the Conference on Domain-specific Languages, October 15-17, 1997, Santa Barbara. USENIX Association, Berkley, 1997.
....can do more powerful global analysis and transformations. There have been a number of open compiler systems that allow programmers to add analysis routines, usually modeled as extensions that traverse abstract syntax trees. These include Chiba s Open C [4] Crew s Prolog based ASTLOG [7] for walking over C abstract syntax trees; and Lord s scheme based ctool [21] also Checker LOC Err False Pos Buffer management 94 9 25 Message length 29 18 2 Lanes 220 2 0 Buffer race 12 4 1 Buffer allocation 16 0 2 Directory management 51 1 31 Send wait 40 0 8 Execution restriction 84 0 ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the First Conference on Domain Specific Languages, pages 229--242, October 1997.
....tools with varying degrees of success. TAWK [29] extends the AWK [21] paradigm by matching patterns in the AST of a C program. Numerous XML querying tools provide this same functionality for JavaML, and the event action framework is similar to that used by SAX (Simple API for XML) 43] ASTLog [18] extends the Prolog [17] logic programming language with the ability to reason about an external database that models the AST. Unlike Prolog, ASTLog statements are evaluated with respect to a current object. The approach that Crew uses may be interesting to apply to the XML world, but the numerous ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, Santa Barbara, CA, October 1997.
....has been tested on the MUMPS language, and can be re targeted for C. All these systems, unlike genoa, require the construction of a specialized parser (and or front end) for each new language dialect. Pattern oriented languages can be quite convenient for simple queries. However, as pointed out in [Crew 1997], languages such as genoa which o#er procedural abstraction can provide higher levels of reuse, which is quite useful for more complex analysis tasks. Crew [Crew 1997] has created a Prolog like language, called astlog for querying parse trees. This language makes elegant of use of unification and ....
....for each new language dialect. Pattern oriented languages can be quite convenient for simple queries. However, as pointed out in [Crew 1997] languages such as genoa which o#er procedural abstraction can provide higher levels of reuse, which is quite useful for more complex analysis tasks. Crew [Crew 1997] has created a Prolog like language, called astlog for querying parse trees. This language makes elegant of use of unification and backtracking to allow compact specification of analysis tools. This tool was attached to a proprietary C parser through manual e#ort; however the author has ( Crew ....
[Article contains additional citation context not shown here]
Crew, R. F. 1997. astlog: A language for examining abstract syntax trees. In Proceedings, First Usenix Conference on Domain-Specific Languages (October 1997).
....Category Description Language CDL which has been proposed for specifying Formal Design Constraints [8] is a constraint language based on a theory of logics on parse trees. CDL is a restricted formalism that allows to check automatically whether a set of constraints is consistent. ASTLOG [3], a language for examining abstract syntax trees, is a variant of Prolog win which the clauses have access to a complete AST of C programs. In ASTLOG, constraints are written in an inside out functional style that is particularly suited for analyzing tree structures. While Co eeStrainer, GENOA, ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the Conference on Domain-Specic Languages (DSL-97), pages 229242, Berkeley, October 1517 1997. USENIX Association.
....of syntactic 7.2 Reverse engineering of structural source models 116 constructs by building a parse tree from the code, and traversing and performing actions on the parse tree. Examples of parsing tools include GENOA [Dev92, Dev99] A [LR95] Scruple [PP94] tawk [GAM96] and Microsoft s ASTLOG [Cre97] Execution pro ling tools, such as prof and gprof [GKM83] can also be used to extract structural source models. All the above types of extraction tools generate structural program information in plain text format. Depending on the granularity of the source model extracted, the amount of ....
Roger F. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. In Proceedings of the USENIX Conference on Domain Specic Languages, Santa Barbara, California, USA, October 1997. BIBLIOGRAPHY 132
....to represent source code information. Here, syntax tree representations can be queried (and transformed) using program specification and pattern matching capabilities. Jarzabek has proposed a Prolog based static program analyzer (SPA) which is based on the program query language PQL [26] ASTLOG [11] also has defined a Prolog based query language which is intended for analyzing abstract syntax tree representations. Within the OMEGA experimental system [32] a relational model of a Pascal like language called Model has been implemented. QUEL is used as query language. The C information ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the Conference on DomainSpecific Languages (DSL-97), pages 229--242, Berkeley, Oct.15--17 1997. USENIX Association.
....codes are translated into a general data structure which is analyzed afterwards. Different choices for representing source code information exist, such as relational databases [30] 5] 20] PROLOG databases [26] 3] object oriented databases [31] 34] abstract syntax trees [12] 34] 42] [7], LISP images [33] or hybrid knowledge bases [25] The repository structures are described in terms of textual languages [42] entity relationship languages [25] 3] or formal algebraic models [34] Coarse grained repository definitions are given for a PASCAL like language [30] and for C [5] ....
....language [30] and for C [5] 34] A set of three data structures with different level of granularity is defined in [25] The way chosen for representing program information implies the analysis mechanism. In the database driven approaches convenient database query mechanisms are used. ASTLOG [7] defines a PROLOG based query language for analyzing abstract syntax tree representations. In [25] a database independent program query language (PQL) is introduced. An algebraic expression based query language has been implemented within the Software Refinery Toolset [34] Although these ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the Conference on DomainSpecific Languages (DSL-97), pages 229--242, Berkeley, Oct.15--17 1997. USENIX Association.
....the mathematical structures underlying the interchange format and the concrete syntax for noting down the information to be interchanged. Looking at the kind of abstract syntax used in reengineering approaches for internal source code representation we can identify syntax tree based approaches [8], relational and algebraic approaches, 11, 30, 38] graph based approaches [7, 15, 33, 37] and concept lattice approaches [44] Domain specific schema information is explicitly stored in generic reengineering tools as RIGI [37] PBS [19] or GUPRO [15] For exporting these internal data ....
R. F. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. In Proceedings of the Conference on Domain-specific Languages, October 15-17, 1997, Santa Barbara. USENIX Association, Berkley, 1997.
....character format. Consequently, computations of byte counts and character counts must be selectively converted. Microsoft Research developed a tool called Unicorn to help perform such conversions by identifying required change points. Unicorn uses a combination of syntax tree matching technology [Cre97] and matching on Hungarian notation to distinguish the different uses and interpretations of buffer sizes, i.e. when the size of a buffer in bytes is required, and when the size in characters is required. Unicorn reads in the program source a file at a time, constructing an AST for each ....
R. E. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, pp 229--42, October 1997.
....text query languages is found in [3] Sgrep [12] is a variant of grep that uses a structured text query language instead of regular expressions, which helped inspire us to incorporate other Unix style tools into a structured text processing system. Domain specific query tools include ASTLOG [6], a query language specific to source code, and WebL [14] which combines an HTML query language with a programming language specialized for fetching and processing World Wide Web pages. Structured text editors are a common form of structured text processing, but lacking the lightweightness ....
Crew, R. F. "ASTLOG: a language for examining abstract syntax trees." Proceedings of the USENIX Conference on Domain-Specific Languages, October 1997, pp 229-242.
....codes are translated into a general data structure which is analyzed afterwards. Different choices to representing source code information exist, such as relational databases [28] 5] 18] PROLOG databases [24] 3] object oriented databases [29] 32] abstract syntax trees [11] 32] 40] [6], LISP images [31] or hybrid knowledge bases [23] The repository structures are described in terms of textual languages [40] entity relationship languages [23] 3] or formal algebraic models [32] Coarse grained repository definitions are given for a PASCAL like language [28] and for C [5] ....
....language [28] and for C [5] 32] A set of three data structures of different level of granularity is defined in [23] The way chosen for representing program information implies the analysis mechanism. In the database driven approaches convenient database query mechanisms are used. ASTLOG [6] defines a PROLOG based query language for analyzing abstract syntax tree representations. In [23] a database independent program query language (PQL) is introduced. An algebraic expression based query language has been implemented within the Software Refinery Toolset [32] In all of these these ....
R. F. Crew. ASTLOG: A language for examining abstract syntax trees. In Proceedings of the Conference on DomainSpecific Languages (DSL-97), pages 229--242, Berkeley, Oct.15--17 1997. USENIX Association.
....field order against the original layout. They, together with a ranking of active structures based on their temporal activity and access frequency, can be used to identify structures most likely to benefit from field reordering. 3.1. 1 Constructing the Structure Access Database The ASTtoolkit [7], a tool for querying and manipulating a program s abstract syntax tree, is used to analyze the source program. It produces a file containing information on each structure field access, including the source file and line at which the access occurs, whether the access is a read , write , or ....
R. F. Crew. "ASTLOG: A language for examining abstract syntax trees." In Proceedings of the USENIX Conference on Domain-Specific Languages, Oct. 1997.
No context found.
R. F. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 229--242, 1997.
No context found.
R. F. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 229--242, 1997.
No context found.
Crew, R.F. ASTLOG: A language for examining abstract syntax trees. In proceedings of the First Conference on Domain Specific Languages, 1997, p. 229---242.
No context found.
Crew, R. F.: ASTLOG: A Language for Examining Abstract Syntax Trees. Proceedings of the USENIX Conference on Domain-Specific Languages, Santa Barbara, California (1997)
No context found.
R.. ?. Crew. Astlog: A language for examining abstract syntax trees. In Proceedings of the USENIX Conference on Domain-Specific Languages, 1997.
No context found.
Crew, R. F., ASTLOG: A Language for Examining Abstract Syntax Trees, In Proceedings of the USENIX Conference on Domain-Specific Languages, ASTLOG: A Language for Examining Abstract Syntax Trees Santa Barbara, California, October 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC