Reverse Engineering Scripting Language Extensions

D. L. Moise, Kenny Wong, H. Hoover, Daqing Hou
{"title":"Reverse Engineering Scripting Language Extensions","authors":"D. L. Moise, Kenny Wong, H. Hoover, Daqing Hou","doi":"10.1109/ICPC.2006.42","DOIUrl":null,"url":null,"abstract":"Software systems are often written in more than one programming language. During development, programmers need to understand not only the dependencies among code in a particular language, but dependencies that span languages. In this paper, we focus on the problem of scripting languages (such as Perl) and their extension mechanisms to calling functions with a C interface. Our general approach involves building a fact extractor for each scripting language, by hooking into the language interpreter itself. The produced facts conform to a common schema, and an analyzer is extended to recognize the cross-language dependencies. We present how these statically discovered dependencies can be represented, visualized, and explored in the Eclipse environment","PeriodicalId":377450,"journal":{"name":"14th IEEE International Conference on Program Comprehension (ICPC'06)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"14th IEEE International Conference on Program Comprehension (ICPC'06)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICPC.2006.42","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

Abstract

Software systems are often written in more than one programming language. During development, programmers need to understand not only the dependencies among code in a particular language, but dependencies that span languages. In this paper, we focus on the problem of scripting languages (such as Perl) and their extension mechanisms to calling functions with a C interface. Our general approach involves building a fact extractor for each scripting language, by hooking into the language interpreter itself. The produced facts conform to a common schema, and an analyzer is extended to recognize the cross-language dependencies. We present how these statically discovered dependencies can be represented, visualized, and explored in the Eclipse environment
逆向工程脚本语言扩展
软件系统通常是用不止一种编程语言编写的。在开发过程中,程序员不仅需要了解特定语言中代码之间的依赖关系,还需要了解跨语言的依赖关系。在本文中,我们主要关注脚本语言(如Perl)的问题以及它们使用C接口调用函数的扩展机制。我们的一般方法包括通过连接到语言解释器本身,为每种脚本语言构建事实提取器。生成的事实符合公共模式,并且扩展了分析程序以识别跨语言依赖关系。我们将介绍如何在Eclipse环境中表示、可视化和探索这些静态发现的依赖项
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信