An approach to analyzing recursive programs with exception handling constructs

被引:5
作者
Jiang, Shujuan [1 ]
Xu, Baowen
Shi, Liang
机构
[1] SE Univ, Dept Comp Sci & Engn, Nanjing 210096, Peoples R China
[2] Jiangsu Inst Software Qual, Nanjing 210096, Peoples R China
[3] China Univ Min & Technol, Sch Comp Sci & Technol, Xuzhou 221008, Peoples R China
[4] Natl Univ Def Technol, Comp Sch, Changsha 410073, Peoples R China
关键词
exception handling; programming language; reliability; exception propagation; recursive function; static analysis;
D O I
10.1145/1147214.1147220
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Exception handling in modem programming languages is a mechanism that can improve software reliability. Since the signature of an C++ function may not specify the set of exceptions that the function can propagate, it is necessary to figure out the exceptions that may be raised during executing program, the origins of them and their propagation paths. Unfortunately, in large programs that contain recursive functions, this exceptional information can be difficult, if not impossible, to determine. Therefore, the paper proposes a new static analysis approach to analyze C++ recursive functions with exception handling constructs. Firstly, it presents a model that can describe the exception handling information for a C++ single function. Then, it proposes a new method to compute the set of exception types that propagate from a recursive function. Finally, the limitations and the applications of the model are discussed.
引用
收藏
页码:30 / 35
页数:6
相关论文
共 20 条
[1]  
BRENNAN PT, 1993, P C TRI AD 9O SEPT A, P189
[2]   Visualization of exception propagation for Java']Java using static analysis [J].
Chang, BM ;
Jo, JW ;
Her, SH .
SCAM 2002: SECOND IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS MANIPULATION, PROCEEDINGS, 2002, :173-182
[3]  
CHOI JD, 1999, P ACM SIGPLAN SIGSOF, P21
[4]  
FAHNDRICH M, 1998, CSD98996 U CAL
[5]   A comparative study of exception handling mechanisms for building dependable object-oriented software [J].
Garcia, AF ;
Rubira, CMF ;
Romanovsky, A ;
Xu, J .
JOURNAL OF SYSTEMS AND SOFTWARE, 2001, 59 (02) :197-222
[6]   An exception handling software architecture for developing fault-tolerant software [J].
Garcia, AF ;
Beder, DM ;
Rubira, CMF .
FIFTH IEEE INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING, PROCEEDINGS, 2000, :311-320
[7]   EXCEPTION HANDLING - ISSUES AND A PROPOSED NOTATION [J].
GOODENOUGH, JB .
COMMUNICATIONS OF THE ACM, 1975, 18 (12) :683-696
[8]  
Gosling J, JAVA LANGUAGE SPECIF
[9]  
Howell C., 1991, WADAS '91/Summer SIGAda Meeting. Eighth Annual Washington Ada Symposium/Summer SIGAda Meeting Software: Foundation for Competitiveness. Proceedings, P90, DOI 10.1145/134494.134503
[10]  
HOWELL C, 1992, 14 INT C SOFTW ENG T