[发明专利]一种增量组合JavaScript程序模块的方法无效
申请号: | 201310472702.5 | 申请日: | 2013-10-12 |
公开(公告)号: | CN103530119A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 吴明晖;吕嘉;颜晖;应晶;陈天洲 | 申请(专利权)人: | 浙江大学城市学院 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 杜军 |
地址: | 310015 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 增量 组合 javascript 程序 模块 方法 | ||
技术领域
本发明属于计算机软件验证领域,特别涉及一种增量组合JavaScript程序模块的方法。
背景技术
JavaScript语言是一种广泛应用于互联网应用程序的脚本语言,JavaScript语言具有很好的表达能力和灵活性,使用JavaScript语言可以提高软件系统的开发效率和开发速度,提高软件系统的可读性和可重用性。
封装性就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部实现细节,封装有两个含义:一是把对象的全部属性和行为结合在一起,形成一个不可分割的独立单位。对象的属性值(除了公有的属性值)只能由这个对象的行为来读取和修改;二是尽可能隐蔽对象的内部细节,对外形成一道屏障,与外部的联系只能通过外部接口实现。
JavaScript语言支持动态语法特性:动态类型、隐式类型转换、运行时求解和反射等,由于各种动态语法特性的引入,JavaScript程序违反传统的程序封装性原则,很难使用传统的静态方法进行模块化分析,支持JavaScript程序的增量组合。
发明内容
本发明的目的是针对现有模块组合方法的不足,提供一种增量组合JavaScript程序模块的方法。
本发明解决其技术问题所采用的技术方案如下:
步骤1.将JavaScript程序模块分为静态模块M和动态模块D:静态模块M不包含动态语法特性,支持程序静态分析;动态模块D包含动态语法特性,必须在运行时进行检查;
步骤2.使用信赖-保证方法(rely-guarantee paradigm)定义静态模块M的模块契约,模块契约包含三个部分:使用假设条件(assume condition)定义模块执行的前提条件;使用保证条件(guarantee condition)定义模块执行的期望条件;如果静态模块的执行过程插入动态模块,使用依赖条件(rely condition)约束动态模块的执行过程;
步骤3.使用程序证明方法验证静态模块M是否满足其模块契约(假设条件assume、保证条件guarantee、依赖条件rely),验证静态模块M相对于其模型契约满足正确性具体如下:
3-1.使用程序证明方法验证静态模块M执行前的程序状态满足模块的假设条件assume,如果满足继续执行步骤3-2,如果不满足则静态模块M不满足其模块契约,返回步骤2;
3-2. 使用程序证明方法验证静态模块M的执行过程满足模块的依赖条件rely,如果满足继续执行步骤3-3,如果不满足则静态模块M不满足其模块契约,返回步骤2;
3-3. 使用程序证明方法验证静态模块M执行后的程序状态确保模块的保证条件guarantee,如果满足则静态模块M满足其正确性约束,如果不满足则静态模块M不满足其模块契约,返回步骤2;
步骤4.根据静态模块M的模块契约,在动态模块D中插入运行时检查代码:一部分检查代码负责检查模块M的的假设条件assume在依赖条件rely下是否是稳定的,另一部分检查代码负责检查模块M的保证条件assume在依赖条件下rely是否是稳定的,然后执行步骤5;
步骤5.运行JavaScript程序的模块,如果执行过程插入动态模块,执行相应的运行时检查代码,如果正确则是正确的模块组合,如果不正确则是错误的模块组合。
本发明的有益效果如下:
本发明通过分离动态语法特性,将JavaScript划分为静态模块和动态模块,静态模块增量组合动态模块;使用信赖-保证方法定义JavaScript程序模块的模块约束,能够确保JavaScript程序模块在动态语法特性的影响下依然稳定,支持JavaScript程序模块的增量组合。
附图说明
图1为本发明使用程序证明方法验证静态模块是否满足其模块契约的流程图。
图2为本发明使用信赖-保证方法增量组合JavaScript程序的流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1、图2所示,一种增量组合JavaScript程序模块的方法,具体包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学城市学院,未经浙江大学城市学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310472702.5/2.html,转载请声明来源钻瓜专利网。