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 条
  • [41] Preliminary exception handling analysis for the ITER plasma control system
    Raupp, G.
    Pautasso, G.
    Rapson, C.
    Treutterer, W.
    Snipes, J.
    de Vries, P.
    Winter, A.
    Humphrey, D.
    Walker, M.
    Ambrosino, G.
    Cinque, M.
    de Tommasi, G.
    Mattei, M.
    Pironti, A.
    Bremond, S.
    Moreau, P.
    Nouailletas, R.
    Felton, R.
    Rimini, F.
    FUSION ENGINEERING AND DESIGN, 2017, 123 : 541 - 545
  • [42] Exception handling for copyless messaging
    Jaksic, Svetlana
    Padovani, Luca
    SCIENCE OF COMPUTER PROGRAMMING, 2014, 84 : 22 - 51
  • [43] Is Exception Handling a Reusable Aspect?
    Almeida, Adauto
    Barreiros, Emanoel
    Saraiva, Juliana
    Castor, Fernando
    Soares, Sergio
    2014 EIGHTH BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES AND REUSE (SBCARS), 2014, : 32 - 41
  • [44] EXCEPTION HANDLING IN PARALLEL COMPUTATIONS
    SZALAS, A
    SZCZEPANSKA, D
    SIGPLAN NOTICES, 1985, 20 (10): : 95 - 104
  • [45] Current trends in exception handling
    Perry, DE
    Romanovsky, A
    Tripathi, A
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2000, 26 (10) : 921 - 922
  • [46] Exception handling in workflow systems
    Luo, ZW
    Sheth, A
    Kochut, K
    Miller, J
    APPLIED INTELLIGENCE, 2000, 13 (02) : 125 - 147
  • [47] Provably Live Exception Handling
    Jacobs, Bart
    17TH WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS (FTFJP 2015), 2015,
  • [48] Recommending Exception Handling Code
    Tam The Nguyen
    Phong Minh Vu
    Tung Thanh Nguyen
    2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019), 2019, : 390 - 393
  • [49] AN EXCEPTION HANDLING MECHANISM FOR SR
    HUANG, DT
    OLSSON, RA
    COMPUTER LANGUAGES, 1990, 15 (03): : 163 - 176
  • [50] Improving Exception Handling with Recommendations
    Barbosa, Eiji Adachi
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 666 - 669