Improving software robustness with dependability cases

被引:9
|
作者
Maxion, RA [1 ]
Olszewski, RT [1 ]
机构
[1] Carnegie Mellon Univ, Sch Comp Sci, Pittsburgh, PA 15213 USA
关键词
dependability; empirical methods; exception handling; safety cases; software engineering/robustness;
D O I
10.1109/FTCS.1998.689485
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Programs fail mainly for two reasons: logic errors in the code, and exception failures. Exception failures can account for up to 2/3 of system crashes[6], hence are worthy of serious attention. Traditional approaches to reducing exception failures, such as code reviews, walkthroughs and formal testing, while very useful, are limited in their ability to address a core problem: the programmer's inadequate coverage of exceptional conditions. The problem of coverage might be rooted in cognitive factors that impede the mental generation (or recollection) of exception cases that would pertain in a particular situation, resulting in insufficient software robustness. This paper describes a study to test the hypothesis that robustness for exception failures can be improved through the use of dependability cases. Dependability cases, derived from safety cases, comprise a methodology based on structured taxonomies and memory aids for helping software designers think about and improve exception-handling coverage. A controlled experiment conducted with 59 subjects revealed a statistically significant 43% increase in exception-handling robustness. An ancillary experiment conducted with 38 subjects provides convergent evidence that the effect is authentic, and not due to programming expertise alone.
引用
收藏
页码:346 / 355
页数:10
相关论文
共 50 条
  • [1] Measuring software dependability by robustness benchmarking
    Mukherjee, A
    Siewiorek, DP
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (06) : 366 - 378
  • [2] A flexible generator architecture for improving software dependability
    Fetzer, C
    Xiao, Z
    [J]. 13TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2002, : 102 - 113
  • [3] Improving automation software dependability: A role for formal methods?
    Johnson, Timothy L.
    [J]. CONTROL ENGINEERING PRACTICE, 2007, 15 (11) : 1403 - 1415
  • [4] Improving Robustness of DNS to Software Vulnerabilities
    Khurshid, Ahmed
    Kiyak, Firat
    Caesar, Matthew
    [J]. 27TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (ACSAC 2011), 2011, : 177 - 186
  • [5] Improving Software Development and Robustness Through Multiagent Systems
    Thompson, Kevin
    [J]. PROCEEDINGS OF THE 49TH ANNUAL ASSOCIATION FOR COMPUTING MACHINERY SOUTHEAST CONFERENCE (ACMSE '11), 2011, : 360 - 362
  • [6] Software architecture and dependability
    Issarny, V
    Zarras, A
    [J]. FORMAL METHODS FOR SOFTWARE ARCHITECTURES, 2003, 2804 : 259 - 285
  • [7] A SURVEY OF SOFTWARE DEPENDABILITY
    SARMA, VVS
    [J]. SADHANA-ACADEMY PROCEEDINGS IN ENGINEERING SCIENCES, 1987, 11 : 23 - 48
  • [8] Dependability and Robustness: State of the Art and Challenges
    Mikolasek, Vaclav
    [J]. FIRST INTERNATIONAL WORKSHOP ON SOFTWARE TECHNOLOGIES FOR FUTURE DEPENDABLE DISTRIBUTED SYSTEMS, PROCEEDINGS, 2009, : 25 - 31
  • [9] Iterative and Simultaneous Development of Embedded Control Software and Dependability Cases for Consumer Devices
    Matsuno, Yutaka
    Taguchi, Kenji
    Nakabo, Yoshihiko
    Ohata, Akira
    [J]. 2012 PROCEEDINGS OF SICE ANNUAL CONFERENCE (SICE), 2012, : 675 - 680
  • [10] Iterative and simultaneous development of embedded control software and dependability cases for consumer devices
    Matsuno, Yutaka
    Taguchi, Kenji
    Nakabo, Yoshihiko
    Ohata, Akira
    [J]. Proceedings of the SICE Annual Conference, 2012, : 675 - 680