计算机科学 ›› 2012, Vol. 39 ›› Issue (11): 102-105.

• 软件工程 • 上一篇    下一篇

SOCKET通信程序模型抽取及可靠性验证

肖美华 余立全 肖攀   

  1. (华东交通大学软件学院 南昌 330013) (南昌大学信息工程学院 南昌 330031) (南昌大学软件学院 南昌 330047)
  • 出版日期:2018-11-16 发布日期:2018-11-16

Model Extraction and Reliability Verification on SOCKET Communication Program

  • Online:2018-11-16 Published:2018-11-16

摘要: 形式化方法是验证并发系统可靠性和安全性的重要手段。对高级语言开发的并发系统自动抽取的模型进行 形式化验证是模型检测技术领域中的一个研究热点。鉴于socket函数调用顺序不正确产生的运行时潜在问题(内存 泄漏、死锁、边界数据丢失等),针对顺序结构的socket程序,通过描述Promcla消息数据结构和通道,构建socket函数 的Promcla模型,定义socket函数到Promcla映射规则,提出socket函数调用序列抽取算法及目标Promcla模型生成 算法,用线性时态逻辑(LTI.)刻画socket函数调用顺序应满足的性质,开发基于SPIN的socket通信程序分析系统。 实验结果表明,该系统能有效检测socket通信程序的运行时潜在问题。

关键词: socket,模型检测,模型抽取,形式化验证

Abstract: Formal method is a means to verify the reliability and safety of concurrent systems. Formal verification of model which is automatically extracted from concurrent system built from high level language is a hot research topic in the field of model checking technology. With the focus on potential run time problems ( deadlocks, memory leaks, the boundary data loss and other run-time errors) result from abnormal socket function call sequence, this paper analyzed the sequence structure of the socket program, constructed the Promela model of socket functions through the description of message data structures and channels, defined mapping rules of socket function to Promela,proposed the socket func- tion call sequence extraction algorithm and target Promela model generation algorithm, used linear temporal logic (LTL) to describe the property the socket function call sequence shall meet. A socket communication program analysis system was constructed. The experiment result shows that the system can detect the potential run time problems of socket program effectively.

Key words: Socket, Model checking, Model extraction, Formal verification

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!