Modular Transformation of Java']Java Exceptions Modulo Errors

被引:2
|
作者
Rubbens, Robert [1 ]
Lathouwers, Sophie [1 ]
Huisman, Marieke [1 ]
机构
[1] Univ Twente, Formal Methods & Tools, Enschede, Netherlands
关键词
Deductive verification; !text type='Java']Java[!/text; VerCors; Exceptions; Finally; Errors;
D O I
10.1007/978-3-030-85248-1_5
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Deductive verifiers are used more and more in both academia and industry to prevent costly bugs. Their capabilities of verifying concurrent programs are getting better, but they are still lagging behind with regard to many major programming language features such as exceptions. To improve the situation, this work presents a semantics of Java exceptions which reduces the annotation burden on the user, while still allowing verification of exceptions. This is accomplished by ignoring sources of errors which are irrelevant to functional verification. Additionally, to deal with the complex control flow introduced by finally, a transformation is proposed that simplifies verification of exceptional postconditions and finally into postconditions and goto. We implement the approach and evaluate it against several common exception patterns.
引用
收藏
页码:67 / 84
页数:18
相关论文
共 50 条
  • [31] Expressive and Modular Predicate Dispatch for Java']Java
    Millstein, Todd
    Frost, Christopher
    Ryder, Jason
    Warth, Alessandro
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2009, 31 (02):
  • [32] JPure: A Modular Purity System for Java']Java
    Pearce, David J.
    COMPILER CONSTRUCTION, 2011, 6601 : 104 - 123
  • [33] Automated Java']Java exceptions explanation using natural language generation techniques
    Assiri, Fatmah Yousef
    Elazhary, Hanan
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2020, 28 (03) : 626 - 644
  • [34] MultiJava']Java: Modular open classes and symmetric multiple dispatch for Java']Java
    Clifton, C
    Leavens, GT
    Chambers, C
    Millstein, T
    ACM SIGPLAN NOTICES, 2000, 35 (10) : 130 - 145
  • [35] Modular system building with Java']Java(TM) packages
    Jordan, M
    VanDeVanter, ML
    8TH CONFERENCE ON SOFTWARE ENGINEERING ENVIRONMENTS - PROCEEDINGS, 1997, : 155 - 163
  • [36] Preventing Composition Problems in Modular Java']Java Applications
    Jezek, Kamil
    Holy, Lukas
    Danek, Jakub
    SOFTWARE QUALITY: THE FUTURE OF SYSTEMS- AND SOFTWARE DEVELOPMENT, 2016, 238 : 125 - 143
  • [37] Modular name analysis for Java']Java using JastAdd
    Ekman, Torbjorn
    Hedin, Gorel
    GENERATIVE AND TRANSFORMATIONAL TECHNIQUES IN SOFTWARE ENGINEERING, 2006, 4143 : 422 - 436
  • [38] Preventing Signedness Errors in Numerical Computations in Java']Java
    Mackie, Christopher A.
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 1148 - 1150
  • [39] UML collaboration diagrams and their transformation to Java']Java
    Engels, G
    Hücking, R
    Sauer, S
    Wagner, A
    UML'99 - THE UNIFIED MODELING LANGUAGE: BEYOND THE STANDARD, 1999, 1723 : 473 - 488
  • [40] Provably correct control flow graphs from Java']Java bytecode programs with exceptions
    Amighi, Afshin
    Gomes, Pedro de Carvalho
    Gurov, Dilian
    Huisman, Marieke
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2016, 18 (06) : 653 - 684