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

Full description

Bibliographic Details
Main Authors: Wang, Han-Lin, 王漢麟
Other Authors: Lo, Chi-Chun
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