计算机工程与应用 ›› 2008, Vol. 44 ›› Issue (35): 158-162.DOI: 10.3778/j.issn.1002-8331.2008.35.048

• 数据库、信号与信息处理 • 上一篇    下一篇

非函数依赖程序不变量动态检测技术研究

刘树锟1,陈继锋1,2,阳小华3   

  1. 1.湖南涉外经济学院 计算机科学与技术学部,长沙 410205
    2.西安交通大学 计算机软件研究所,西安 710049
    3.南华大学 计算机科学与技术学院,湖南 衡阳 421001
  • 收稿日期:2008-07-07 修回日期:2008-11-12 出版日期:2008-12-11 发布日期:2008-12-11
  • 通讯作者: 刘树锟

Research of dynamical detecting technique of non-functional dependence program invariant

LIU Shu-kun1,CHEN Ji-feng1,2,YANG Xiao-hua3   

  1. 1.Department of Computer Science and Technology,Hunan International Economics University,Changsha 410205,China
    2.Institute of Computer Software,Xi’an Jiao tong University,Xi’an 710049,China
    3.Department of Computer Science and Technology,University of South China,Hengyang,Hunan 421001,China
  • Received:2008-07-07 Revised:2008-11-12 Online:2008-12-11 Published:2008-12-11
  • Contact: LIU Shu-kun

摘要: 讨论了程序不变量的内涵,研究并建立了程序不变量动态生成系统的理论模型。在该模型中,针对非函数依赖程序不变量动态生成理论、方法和技术进行了阐述。基于数据库的理论提出了一种新的非函数依赖程序不变量动态检测技术,针对各种常见非函数依赖程序不变量类型建立了一系列检测方法。此不变量检测技术通过数据库中提供的SQL条件查询功能,灵活地检测各种常见类型的非函数依赖程序不变量,并且可以根据用户的实际需要随时指定新的程序不变量查询条件。该方法和Daikon等现有的程序不变量检测工具检测方法比较具有明显的特色和优势:第一,基于关系数据库技术,具有良好的可扩展性;第二,使用SQL条件查询功能实现非函数依赖程序不变量检测,检测方法具有很好的灵活性。

关键词: 程序不变量, 非函数依赖, 动态检测, 软件质量, 条件查询

Abstract: In this paper,the notation of program invariant based on the contract is described,and a theory model of dynamically generating technique of program invariant is researched and built.In the theory model,the theory method and technology of dynamically generating technique of program invariant of non-functional dependence are discussed.A new method of dynamically generating technique of program invariant of non-functional dependence based on the theory of database is proposed.Then,a series of detecting measures of specific non-functional dependence program invariants are described.The method detecting program invariants in the way of SQL query,so many kinds of program invariants can be dynamically discovered by the means.User can detect the program invariants on the condition of their interest by giving their query conditions at will.Comparing with Daikon,the method has two excellent features.Firstly,it is better expansible based on the RDBMS technology;Secondly,discovering of program invariants can be accomplished by the function of SQL query based on the technology of relational database which can detect the program invariants in a nimble way.

Key words: program invariant, non-functional dependence, dynamically detect, quality of software, condition query