Flow grammars: a methodology for automatically constructing static analyzers
A new control flow model called flow grammars is introduced which unifies the treatment of intraprocedural and interprocedural control flow. This model provides excellent support for the rapid prototyping of flow analyzers. Flow grammars are an easily understood, easily constructed and flexible repr...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | English en |
Published: |
2018
|
Subjects: | |
Online Access: | https://dspace.library.uvic.ca//handle/1828/9436 |
id |
ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-9436 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-94362018-06-13T17:08:27Z Flow grammars: a methodology for automatically constructing static analyzers Uhl, James S. Horspool, R. Nigel Müller, Hausi A. Data flow computing Computer programming Computer architecture Parallel processing (Electronic computers) A new control flow model called flow grammars is introduced which unifies the treatment of intraprocedural and interprocedural control flow. This model provides excellent support for the rapid prototyping of flow analyzers. Flow grammars are an easily understood, easily constructed and flexible representation of control flow, forming an effective bridge between the usual control flow graph model of traditional compilers and the continuation passing style of denotational semantics. A flow grammar semantics is given which is shown to summarize the effects all possible executions generated by a flow grammar conservatively. Various interpretations of flow grammars for data flow analysis are explored, including a novel bidirectional interprocedural variant. Several algorithms, based on a similar technique called grammar flow analysis, for solving the equations arising from the interpretations are given. Flow grammars were developed as a basis for FACT (Flow Analysis Compiler Tool), a compiler construction tool for the automatic construction of flow analyzers. Several important analyses from the literature are cast in the flow grammar framework and their implementation in a FACT prototype is discussed. Graduate 2018-06-12T16:59:34Z 2018-06-12T16:59:34Z 1995 2018-06-12 Thesis https://dspace.library.uvic.ca//handle/1828/9436 English en Available to the World Wide Web application/pdf |
collection |
NDLTD |
language |
English en |
format |
Others
|
sources |
NDLTD |
topic |
Data flow computing Computer programming Computer architecture Parallel processing (Electronic computers) |
spellingShingle |
Data flow computing Computer programming Computer architecture Parallel processing (Electronic computers) Uhl, James S. Flow grammars: a methodology for automatically constructing static analyzers |
description |
A new control flow model called flow grammars is introduced which unifies the treatment of intraprocedural and interprocedural control flow. This model provides excellent support for the rapid prototyping of flow analyzers. Flow grammars are an easily understood, easily constructed and flexible representation of control flow, forming an effective bridge between the usual control flow graph model of traditional compilers and the continuation passing style of denotational semantics. A flow grammar semantics is given which is shown to summarize the effects all possible executions generated by a flow grammar conservatively. Various interpretations of flow grammars for data flow analysis are explored, including a novel bidirectional interprocedural variant. Several algorithms, based on a similar technique called grammar flow analysis, for solving the equations arising from the interpretations are given. Flow grammars were developed as a basis for FACT (Flow Analysis Compiler Tool), a compiler construction tool for the automatic construction of flow analyzers. Several important analyses from the literature are cast in the flow grammar framework and their implementation in a FACT prototype is discussed. === Graduate |
author2 |
Horspool, R. Nigel |
author_facet |
Horspool, R. Nigel Uhl, James S. |
author |
Uhl, James S. |
author_sort |
Uhl, James S. |
title |
Flow grammars: a methodology for automatically constructing static analyzers |
title_short |
Flow grammars: a methodology for automatically constructing static analyzers |
title_full |
Flow grammars: a methodology for automatically constructing static analyzers |
title_fullStr |
Flow grammars: a methodology for automatically constructing static analyzers |
title_full_unstemmed |
Flow grammars: a methodology for automatically constructing static analyzers |
title_sort |
flow grammars: a methodology for automatically constructing static analyzers |
publishDate |
2018 |
url |
https://dspace.library.uvic.ca//handle/1828/9436 |
work_keys_str_mv |
AT uhljamess flowgrammarsamethodologyforautomaticallyconstructingstaticanalyzers |
_version_ |
1718695860857995264 |