ETD

AST Indexing: A Near-Constant Time Solution to the Get-Descendants-by-Type Problem

Public Deposited

In this paper we present two novel abstract syntax tree (AST) indexing algorithms that solve the get-descendants-by-type problem in near constant time. This work has been implemented in the U.S. Department of Energy's ROSE compiler framework with plans to be officially integrated as an optimization library called NodeFinder. ROSE is an open source software analysis platform and source-to-source compiler suited for large-scale C/C++, UPC, Java, Python, Fortran, OpenCL, CUDA, and OpenMP applications that has been actively developed at Lawrence Livermore National Laboratory for the last sixteen years. The get-descendants-by-type problem is the problem of efficiently answering queries of the form “given an arbitrary AST node and an arbitrary node type , return all descendants of that are of type . Our algorithms are generic in that they can also be applied to any tree that has a meaningful notion of nodetype", so we also explore some potential applications in the fields of file systems and databases.


MLA citation style (9th ed.)

Kelly, Samuel Livingston. Ast Indexing: A Near-constant Time Solution to the Get-descendants-by-type Problem. . 2014. dickinson.hykucommons.org/concern/etds/97a2026c-684f-4fbc-82eb-6241931a1897.

APA citation style (7th ed.)

K. S. Livingston. (2014). AST Indexing: A Near-Constant Time Solution to the Get-Descendants-by-Type Problem. https://dickinson.hykucommons.org/concern/etds/97a2026c-684f-4fbc-82eb-6241931a1897

Chicago citation style (CMOS 17, author-date)

Kelly, Samuel Livingston. Ast Indexing: A Near-Constant Time Solution to the Get-Descendants-By-Type Problem. 2014. https://dickinson.hykucommons.org/concern/etds/97a2026c-684f-4fbc-82eb-6241931a1897.

Note: These citations are programmatically generated and may be incomplete.

Relations

In Collection: