[发明专利]针对软件程序的变量推论系统及方法有效
申请号: | 201410685318.8 | 申请日: | 2014-11-25 |
公开(公告)号: | CN105700932B | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | 游逸平;吴晞浩;郑育镕;陈静芳 | 申请(专利权)人: | 财团法人资讯工业策进会 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 徐伟 |
地址: | 中国台湾台北市*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 软件 程序 变量 推论 系统 方法 | ||
本发明提供一种针对软件程序的变量推论系统及方法。该推论系统及方法针对一软件程序的多个第一基本区块计算对应至一未知变量的一第一变量类型输出,根据该等第一变量类型输出针对该软件程序的一第二基本区块计算对应至该未知变量的一第二变量类型输入,于该第二基本区块中包含对应至该未知变量的一原始指令时,计算对应至该未知变量的一第二变量类型生成,计算对应至该未知变量的一第二变量类型删除,以及根据该第二变量类型输入、该第二变量类型生成、该第二变量类型删除,针对该第二基本区块计算对应至该未知变量的一第二变量类型输出。
技术领域
本发明关于一种变量推论系统及方法。更具体而言,本发明关于一种针对软件程序的变量推论系统及方法。
背景技术
为了提升一软件程序的执行效率,该软件程序的原始码(source code)可能会在不同的程序语言之间进行转编译(transcomplier)。举例而言,JavaScript引擎执行JavaScript语言程序代码的效率约为执行原生语言程序代码(例如C或C++语言建构的程序代码)的一半,而若先将JavaScript语言程序代码转编译为原生语言程序代码,再由JavaScript引擎来执行,则可提升整体的执行效率。
JavaScript语言程序代码属于动态语言程序代码,而动态语言程序代码中可能包含动态类型(dynamic typing)以及动态名称链接(dynamic name binding)。动态类型乃指动态语言程序代码中的变量必须在其被执行时才能决定其类型,而动态名称链接乃指动态语言程序代码中同一函数名称会因为执行其不同的状况而连结到不同的函数。然而,由于上述特性(即动态类型与动态名称链接),在动态语言程序代码被转编译为原生语言(native language)程序代码的过程中,动态语言程序代码中的变量类型将难以被确定,进而影响转编译的整体效率(例如增加编译的时间或降低编译的正确率)。
有鉴于此,如何在动态语言程序代码被转编译为原生语言程序代码的过程中,提供一种有效的变量推论方法,确实为本发明所属技术领域中的一项重大需求。
发明内容
本发明的一目的乃是在动态语言程序代码被转编译为原生语言程序代码的过程中,提供一种有效的变量推论方法。
为达上述目的,本发明提供一种针对一软件程序的变量推论(variableinference)系统。该变量推论系统包含一输入装置、一处理装置及一储存装置。该输入装置用以输入一软件程序。该处理装置与该输入装置连接,并用以分割该软件程序为多个基本区块(basic blocks),其中该等基本区块包含多个第一基本区块及一第二基本区块。该处理装置针对各该第一基本区块计算对应至一未知变量的一第一变量类型(type)输出。该处理装置根据该等第一变量类型输出针对该第二基本区块计算对应至该未知变量的一第二变量类型输入。该处理装置于该第二基本区块中包含对应至该未知变量的一原始指令(primitive instruction)时,针对该第二基本区块计算对应至该未知变量的一第二变量类型生成。该处理装置针对该第二基本区块计算对应至该未知变量的一第二变量类型删除。该处理装置根据该第二变量类型输入、该第二变量类型生成、该第二变量类型删除,针对该第二基本区块计算对应至该未知变量的一第二变量类型输出。该储存装置与该处理装置连接,并用以储存该等第一变量类型输出及该第二变量类型输出。
为达上述目的,本发明亦提供一种针对一软件程序的变量推论方法。该变量推论方法,包含以下步骤:
由一输入装置输入一软件程序;
由一处理装置分割该软件程序为多个基本区块,其中该等基本区块包含多个第一基本区块及一第二基本区块;
由该处理装置针对各该第一基本区块计算对应至一未知变量的一第一变量类型输出,并由储存装置储存该等第一变量类型输出;
由该处理装置根据该等第一变量类型输出针对该第二基本区块计算对应至该未知变量的一第二变量类型输入;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于财团法人资讯工业策进会,未经财团法人资讯工业策进会许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410685318.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据更新处理方法及装置
- 下一篇:一种控件信息展示方法、装置及电子设备