Analyzing exception flow in Java']Java™ programs

被引:0
|
作者
Robillard, MP [1 ]
Murphy, GC [1 ]
机构
[1] Univ British Columbia, Dept Comp Sci, Vancouver, BC V6T 1Z4, Canada
来源
SOFTWARE ENGINEERING - ESEC/FSE '99, PROCEEDINGS | 1999年 / 1687卷
关键词
exception handling; software analysis; object-oriented programming languages; software engineering tool;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Exception handling mechanisms provided by programming languages are intended to ease the difficulty of developing robust software systems. Using these mechanisms, a software developer can describe the exceptional conditions a module might raise, and the response of the module to exceptional conditions that may occur as it is executing. Creating a robust system from such a localized view requires a developer to reason about the flow of exceptions across modules. The use of unchecked exceptions, and in object-oriented languages, subsumption, makes it difficult for a software developer to perform thus reasoning manually. In this paper, we describe a tool called Jex that analyzes the flow of exceptions in Java code to produce views of the exception structure. We demonstrate how Jex can help a developer identify program points where exceptions are caught accidentally, where there is an opportunity to add finer-grained recovery code, and where error-handling policies are not being followed.
引用
收藏
页码:322 / 337
页数:16
相关论文
共 50 条
  • [31] Darcy: Automatic Architectural Inconsistency Resolution in Java']Java
    Ghorbani, Negar
    Singh, Tarandeep
    Garcia, Joshua
    Malek, Sam
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (06) : 1639 - 1657
  • [32] Students' Understanding of Advanced Properties of Java']Java Exceptions
    Rashkovits, Rami
    Lavy, Liana
    JOURNAL OF INFORMATION TECHNOLOGY EDUCATION-INNOVATIONS IN PRACTICE, 2012, 11 : 327 - 352
  • [33] Dependency safety for Java']Java - Implementing and testing failboxes
    Zhang, Dan
    Bosnacki, Dragan
    van den Brand, Mark
    Huizing, Cornelis
    Jacobs, Bart
    Kuiper, Ruurd
    Wijs, Anton
    SCIENCE OF COMPUTER PROGRAMMING, 2019, 184
  • [34] Towards a Context Dependent Java']Java Exceptions Hierarchy
    Kechagia, Maria
    Sharma, Tushar
    Spinellis, Diomidis
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 347 - 349
  • [35] Using Heuristics to Automate Parameter Generation for Benchmarking of Java']Java Methods
    Kuperberg, Michael
    Omri, Fouad
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (01) : 57 - 75
  • [36] Live Software Development Environment for Java']Java using Virtual Reality
    Amaral, Diogo
    Domingues, Gil
    Dias, Joao Pedro
    Ferreira, Hugo Sereno
    Aguiar, Ademar
    Nobrega, Rui
    PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING (ENASE), 2019, : 37 - 46
  • [37] A Proposal for Native Java']Java Language Support for Handling Asynchronous Events
    Gimenes das Neves, Carlos Rafael
    Guerra, Eduardo Martins
    Fernandes, Clovis Torres
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2013, PT V, 2013, 7975 : 531 - 546
  • [38] TRIPLEAGENT: Monitoring, Perturbation and Failure-obliviousness for Automated Resilience Improvement in Java']Java Applications
    Zhang, Long
    Monperrus, Martin
    2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2019, : 116 - 127
  • [39] 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
  • [40] Analysis and testing of programs with exception handling constructs
    Sinha, S
    Harrold, MJ
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2000, 26 (09) : 849 - 871