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...

Full description

Bibliographic Details
Main Author: Uhl, James S.
Other Authors: Horspool, R. Nigel
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