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 条
  • [31] Ada exception handling
    Bretz, M.
    IT - Information Technology, 1987, 29 (02): : 89 - 96
  • [32] EXCEPTION HANDLING IN CLU
    LISKOV, BH
    SNYDER, A
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1979, 5 (06) : 546 - 558
  • [33] Modeling and analysis of exception handling by using UML statecharts
    Pintér, G
    Majzik, I
    SCIENTIFIC ENGINEERING OF DISTRIBUTED JAVA APPLICATIONS, 2005, 3409 : 58 - 67
  • [34] Exception analysis for multithreaded Java']Java programs
    Ryu, SY
    Yi, KK
    SECOND ASIA-PACIFIC CONFERENCE ON QUALITY SOFTWARE, PROCEEDINGS, 2001, : 23 - 30
  • [35] Analysis, design and implementation of exception handling in WWW services
    Cheng, Fu-Chiung
    Hung, Tai-Chang
    Chiou, Young-Jang
    SOSE 2006: SECOND IEEE INTERNATIONAL SYMPOSIUM ON SERVICE-ORIENTED SYSTEM ENGINEERING, PROCEEDINGS, 2006, : 102 - +
  • [36] Distributed exception handling:: Ideas, lessons and issues with recent exception handling systems
    Campéas, A
    Dony, C
    Urtado, C
    Vauttier, S
    RAPID INTEGRATION OF SOFTWARE ENGINEERING TECHNIQUES, 2005, 3475 : 82 - 92
  • [37] An approach to analyzing inter-class control dependence of programs with exception-handling
    School of Computer Science and Technology, China University of Mining and Technology, Xuzhou, 221116, China
    不详
    Proc. - Int. Conf. Comput. Intell. Softw. Eng., CiSE, 1600,
  • [38] Constructing exception handling chains for testing Java']Java virtual machine implementations
    Chen, Bochuan
    Guo, Xiao
    Chen, Yuting
    Yu, Xiaofeng
    Bu, Lei
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (04)
  • [39] Mining exception instances to facilitate workflow exception handling
    Hwang, SY
    Ho, SF
    Tang, J
    6TH INTERNATIONAL CONFERENCE ON DATABASE SYSTEMS FOR ADVANCED APPLICATIONS, PROCEEDINGS, 1999, : 45 - 52
  • [40] Exception-chain analysis: Revealing exception handling architecture in Java']Java server applications
    Fu, Chen
    Ryder, Barbara G.
    ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 230 - +