A Parser-based Call-graph Generator for Script Languages
碩士 === 國立交通大學 === 資訊管理研究所 === 100 === A call graph is a directed graph that represents calling relationships between subroutines in a computer program, and it also is a basic program analysis result that can be used for human understanding of programs. There have already been many call-graph tools,...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
2012
|
Online Access: | http://ndltd.ncl.edu.tw/handle/18426342696223501567 |
id |
ndltd-TW-100NCTU5396032 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-100NCTU53960322016-03-28T04:20:37Z http://ndltd.ncl.edu.tw/handle/18426342696223501567 A Parser-based Call-graph Generator for Script Languages 一個基於解析器的腳本語言調用圖產生器 Wang, Han-Lin 王漢麟 碩士 國立交通大學 資訊管理研究所 100 A call graph is a directed graph that represents calling relationships between subroutines in a computer program, and it also is a basic program analysis result that can be used for human understanding of programs. There have already been many call-graph tools, but most of them only support complied language. The call-graph tools for script languages (e.g., phpCallGraph, pyCallGrpah, etc.) are relatively few. As a result, we present a parser-based call-graph generator for script languages in this thesis. The proposed call-graph generator is constructed by using a compiler generator, such as yacc (Yet Another Compiler Compiler) and PLY (Python Lex-Yacc). The proposed call-graph generator is composed of the call-graph lexer, the call-graph parser and the call-graph renderer. In the simulation cases, we implement two call-graph generators for Lua and PHP respectively. We compare the generated call graphs with phpCallGraph, and the graphic results shows that the call graph we generated is better for understanding in handling nested functions and entry functions. Lo, Chi-Chun 羅濟群 2012 學位論文 ; thesis 53 en_US |
collection |
NDLTD |
language |
en_US |
format |
Others
|
sources |
NDLTD |
description |
碩士 === 國立交通大學 === 資訊管理研究所 === 100 === A call graph is a directed graph that represents calling relationships between subroutines in a computer program, and it also is a basic program analysis result that can be used for human understanding of programs. There have already been many call-graph tools, but most of them only support complied language. The call-graph tools for script languages (e.g., phpCallGraph, pyCallGrpah, etc.) are relatively few. As a result, we present a parser-based call-graph generator for script languages in this thesis. The proposed call-graph generator is constructed by using a compiler generator, such as yacc (Yet Another Compiler Compiler) and PLY (Python Lex-Yacc). The proposed call-graph generator is composed of the call-graph lexer, the call-graph parser and the call-graph renderer. In the simulation cases, we implement two call-graph generators for Lua and PHP respectively. We compare the generated call graphs with phpCallGraph, and the graphic results shows that the call graph we generated is better for understanding in handling nested functions and entry functions.
|
author2 |
Lo, Chi-Chun |
author_facet |
Lo, Chi-Chun Wang, Han-Lin 王漢麟 |
author |
Wang, Han-Lin 王漢麟 |
spellingShingle |
Wang, Han-Lin 王漢麟 A Parser-based Call-graph Generator for Script Languages |
author_sort |
Wang, Han-Lin |
title |
A Parser-based Call-graph Generator for Script Languages |
title_short |
A Parser-based Call-graph Generator for Script Languages |
title_full |
A Parser-based Call-graph Generator for Script Languages |
title_fullStr |
A Parser-based Call-graph Generator for Script Languages |
title_full_unstemmed |
A Parser-based Call-graph Generator for Script Languages |
title_sort |
parser-based call-graph generator for script languages |
publishDate |
2012 |
url |
http://ndltd.ncl.edu.tw/handle/18426342696223501567 |
work_keys_str_mv |
AT wanghanlin aparserbasedcallgraphgeneratorforscriptlanguages AT wánghànlín aparserbasedcallgraphgeneratorforscriptlanguages AT wanghanlin yīgèjīyújiěxīqìdejiǎoběnyǔyándiàoyòngtúchǎnshēngqì AT wánghànlín yīgèjīyújiěxīqìdejiǎoběnyǔyándiàoyòngtúchǎnshēngqì AT wanghanlin parserbasedcallgraphgeneratorforscriptlanguages AT wánghànlín parserbasedcallgraphgeneratorforscriptlanguages |
_version_ |
1718213447799275520 |