MOONSTONE: Support for Understanding and Writing Exception Handling Code

被引:0
|
作者
Kistner, Florian [1 ]
Kery, Mary Beth [2 ]
Puskas, Michael [3 ]
Moore, Steven [2 ]
Myers, Brad A. [2 ]
机构
[1] Tech Univ Munich, Dept Informat, Munich, Germany
[2] Carnegie Mellon Univ, Human Comp Interact Inst, Pittsburgh, PA 15213 USA
[3] Arizona State Univ, Sch Comp Informat & Decis Syst Engn, Tempe, AZ USA
基金
美国国家科学基金会;
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
MOONSTONE is a new plugin for Eclipse that supports developers in understanding exception flow and in writing exception handlers in Java. Understanding exception control flow is paramount for writing robust exception handlers, a task many developers struggle with. To help with this understanding, we present two new kinds of information: ghost comments, which are transient overlays that reveal potential sources of exceptions directly in code, and annotated highlights of skipped code and associated handlers. To help developers write better handlers, MOONSTONE additionally provides project-specific recommendations, detects common bad practices, such as empty or inadequate handlers, and provides automatic resolutions, introducing programmers to advanced Java exception handling features, such as try-with-resources. We present findings from two formative studies that informed the design of MOONSTONE. We then show with a user study that Moonstone improves users' understanding in certain areas and enables developers to amend exception handling code more quickly and correctly.
引用
收藏
页码:63 / +
页数:9
相关论文
共 50 条
  • [1] 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
  • [2] 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
  • [3] Code Recommendation for Exception Handling
    Nguyen, Tam
    Vu, Phong
    Nguyen, Tung
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 1027 - 1038
  • [4] Amplifying Tests to Validate Exception Handling Code
    Zhang, Pingyu
    Elbaum, Sebastian
    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2012, : 595 - 605
  • [5] Characterizing the Exception Handling Code of Android Apps
    Queiroz, Francisco Diogo
    Coelho, Roberta
    PROCEEDINGS OF 2016 X BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES AND REUSE (SBCARS), 2016, : 131 - 140
  • [6] Exception handling in process support system
    Yao, Yong
    Fan, Wen-Hui
    Xiong, Guang-Leng
    Jisuanji Jicheng Zhizao Xitong/Computer Integrated Manufacturing Systems, CIMS, 2006, 12 (09): : 1495 - 1500
  • [7] Effcient Exception Handling Support for GPUs
    Tanasic, Ivan
    Gelado, Isaac
    Jorda, Marc
    Ayguade, Eduard
    Navarro, Nacho
    50TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2017, : 109 - 122
  • [8] Understanding Exception Handling: Viewpoints of Novices and Experts
    Shah, Hina B.
    Goerg, Carsten
    Harrold, Mary Jean
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2010, 36 (02) : 150 - 161
  • [9] Verifying Exception-Handling Code in Concurrent Libraries
    Khanna, Dhriti
    Sharma, Subodh
    Purandare, Rahul
    PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 405 - 414
  • [10] Reengineering idiomatic exception handling in legacy C code
    Bruntink, Magiel
    CSMR 2008: 12TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING: DEVELOPING EVOLVABLE SYSTEMS, 2008, : 133 - 142