首页 | 本学科首页   官方微博 | 高级检索  
     

一种基于变量可达向量的链表抽象方法
引用本文:李仁见,刘万伟,陈立前,王戟.一种基于变量可达向量的链表抽象方法[J].软件学报,2012,23(8):1935-1949.
作者姓名:李仁见  刘万伟  陈立前  王戟
作者单位:1. 国防科学技术大学计算机学院并行与分布处理国家重点实验室,湖南长沙,410073
2. 国防科学技术大学计算机学院计算机科学与技术系,湖南长沙,410073
基金项目:国家自然科学基金,国家高技术研究发展计划(863)
摘    要:提出了一种链表抽象表示方法.该方法隐式存储链表结点之间的边信息,并采用了一种紧致的链表状态表示,存储开销较低,且维护了链表长度信息,精确度较高.具体而言,根据变量对链表结点的可达性质定义了变量可达向量,采用带计数的变量可达向量集描述链表的形态及数量性质,并定义了基本链表操作的抽象语义.通过简单扩展,该方法可以建模包括环形链表在内的所有单向链表.最后,为了验证该链表抽象方法的正确性,在符号执行框架中进行实验,并对常见链表操作程序的运行时错误、长度相关性质等关键性质进行了分析与验证.

关 键 词:链表抽象方法  符号执行  链表操作程序  变量可达向量
收稿时间:2010/12/6 0:00:00
修稿时间:2011/7/21 0:00:00

List Abstraction Method Based on Variable Reachability Vector
LI Ren-Jian,LIU Wan-Wei,CHEN Li-Qian and WANG Ji.List Abstraction Method Based on Variable Reachability Vector[J].Journal of Software,2012,23(8):1935-1949.
Authors:LI Ren-Jian  LIU Wan-Wei  CHEN Li-Qian and WANG Ji
Affiliation:1(National Key Laboratory of Parallel and Distributed Processing,College of Computer,National University of Defense Technology, Changsha 410073,China) 2(Department of Computer Science and Technology,College of Computer,National University of Defense Technology,Changsha 410073, China)
Abstract:This paper presents a list abstraction method.This method enjoys low space overhead by storing the edges between nodes in a list implicitly in a compact manner.It also enjoys high precision by keeping the length of lists.Specifically,the study introduces a so-called variable reachability vector to encode the reachability properties of variables to list nodes,and use variable reachability vector set with counters as an abstract model for each list state.Based on this model,abstract semantics are then defined for basic list operations.This approach could model all singly-linked lists including cyclic cases after a simple extension is brought in.On this basis,the study designs and implements a symbolic execution framework,which could automatically analyze programs manipulating lists automatically.Finally,this approach is applied to analyzing some typical list-manipulating programs for non-trivial properties,such as run-time errors,length related properties and termination.
Keywords:list abstraction  symbolic execution  list manipulating program  variable reachability vector
本文献已被 CNKI 万方数据 等数据库收录!
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号