Analysis and testing of programs with exception handling constructs

被引:80
|
作者
Sinha, S [1 ]
Harrold, MJ [1 ]
机构
[1] Georgia Inst Technol, Coll Comp, Atlanta, GA 30332 USA
基金
美国国家科学基金会;
关键词
exception handling; control flow analysis; control dependence analysis; data flow analysis; program slicing; structural testing;
D O I
10.1109/32.877846
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Analysis techniques, such as control flow, data flow, and control dependence, are used for a variety of software engineering tasks, including structural and regression testing, dynamic execution profiling, static and dynamic slicing, and program understanding. To be applicable to programs in languages such as Java and C++, these analysis techniques must account for the effects of exception occurrences and exception handling constructs; failure to do so can cause the analysis techniques to compute incorrect results and, thus, limit the usefulness of the applications that use them. This paper discusses the effects of exception handling constructs on several analysis techniques. The paper presents techniques to construct representations for programs with explicit exception occurrences-exceptions that are raised explicitly through throw statements-and exception handling constructs. The paper presents algorithms that use these representations to perform the desired analyses. The paper also discusses several software engineering applications that use these analyses. Finally, the paper describes empirical results pertaining to the occurrence of exception handling constructs in Java programs and their effect on some analysis tasks.
引用
收藏
页码:849 / 871
页数:23
相关论文
共 50 条
  • [1] Analysis of programs with exception-handling constructs
    Sinha, S
    Harrold, MJ
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, : 348 - 357
  • [2] An analysis approach for testing exception handling programs
    Jiang, Shujuan
    Jiang, Yuanpeng
    ACM SIGPLAN NOTICES, 2007, 42 (04) : 3 - 8
  • [3] An approach to analyzing recursive programs with exception handling constructs
    Jiang, Shujuan
    Xu, Baowen
    Shi, Liang
    ACM SIGPLAN NOTICES, 2006, 41 (04) : 30 - 35
  • [4] Modeling and Coverage Analysis of Programs with Exception Handling
    Najumudheen, E. S. F.
    Mall, Rajib
    Samanta, Debasis
    PROCEEDINGS OF THE 12TH INNOVATIONS ON SOFTWARE ENGINEERING CONFERENCE (ISEC), 2019,
  • [5] Visualization of Exception Handling Constructs to Support Program Understanding
    Shah, Hina
    Goerg, Carsten
    Harrold, Mary Jean
    SOFTVIS 2008: PROCEEDINGS OF THE 4TH ACM SYMPOSIUM ON SOFTWARE VISUALIZATION, 2008, : 19 - 28
  • [6] Slicing Object-Oriented Programs with Exception Handling Structures
    Zhao, Xuefeng
    Jiang, Shujuan
    Zhou, Qi
    MATERIAL SCIENCE AND ENGINEERING TECHNOLOGY, 2012, 462 : 383 - 391
  • [7] An approach to automatic testing exception handling
    Jiang, SJ
    Zhang, YP
    Yan, DS
    Jiang, YP
    ACM SIGPLAN NOTICES, 2005, 40 (08) : 34 - 39
  • [8] Revisiting Exception Handling Practices with Exception Flow Analysis
    de Padua, Guilherme B.
    Shang, Weiyi
    2017 IEEE 17TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2017, : 11 - 20
  • [9] Detecting Exception Handling Bugs in C plus plus Programs
    Zhang, Hao
    Luo, Ji
    Hu, Mengze
    Yan, Jun
    Zhang, Jian
    Qiu, Zongyan
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 1084 - 1095
  • [10] An exploratory study on exception handling bugs in Java']Java programs
    Ebert, Felipe
    Castor, Fernando
    Serebrenik, Alexander
    JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 106 : 82 - 101