A formal semantics for debugging synchronous message passing-based concurrent programs

被引:0
作者
He Li
Jie Luo
Wei Li
机构
[1] Beihang University,State Key Laboratory of Software Development Environment, School of Computer Science and Engineering
来源
Science China Information Sciences | 2014年 / 57卷
关键词
debugging; synchronous; message passing; concurrent program; operational semantics;
D O I
暂无
中图分类号
学科分类号
摘要
In this paper, we propose a semantic framework to debug synchronous message passing-based concurrent programs, which are increasingly useful as parallel computing and distributed systems become more and more pervasive. We first design a concurrent programming language model to uniformly represent existing concurrent programming languages. Compared to sequential programming languages, this model contains communication statements, i.e., sending and receiving statements, and a concurrent structure to represent communication and concurrency. We then propose a debugging process consisting of a tracing and a locating procedure. The tracing procedure re-executes a program with a failed test case and uses specially designed data structures to collect useful execution information for locating bugs. We provide for the tracing procedure a structural operational semantics to represent synchronous communication and concurrency. The locating procedure backward locates the ill-designed statement by using information obtained in the tracing procedure, generates a fix equation, and tries to fix the bug by solving the fix equation. We also propose a structural operational semantics for the locating procedure. We supply two examples to test our proposed operational semantics.
引用
收藏
页码:1 / 18
页数:17
相关论文
共 30 条
[1]  
Hailpern B(2002)Software debugging, testing and verification IBM Syst J 41 4-12
[2]  
Santhanam P(2008)Petri net Scholarpedia 3 64-77
[3]  
Petri C A(1978)Communicating sequential processes Commun ACM 21 666-677
[4]  
Reisig W(1996)A formal description of hybrid systems Hybrid Syst 1066 511-530
[5]  
Hoare C A R(1996)Proof systems for message-passing process algebras Form Asp Comput 8 379-407
[6]  
Zhou C C(2013)A review and analysis of software complexity metrics in structural testing Int J Comput Commun Eng 2 129-133
[7]  
Wang J(2008)Structural testing criteria for message passing parallel programs Concurr Comput Pract Exp 20 1893-1916
[8]  
Anders P R(1992)Structural testing of concurrent programs IEEE Trans Softw Eng 18 206-215
[9]  
Hennessy M(1992)Path analysis testing of concurrent programs Inf Softw Technol 34 43-56
[10]  
Lin H M(2006)Reachability testing of concurrent programs IEEE Trans Softw Eng 32 382-403