Filters








746 Hits in 3.9 sec

A Sound and Complete Program Logic for Eiffel [chapter]

Martin Nordio, Cristiano Calcagno, Peter Müller, Bertrand Meyer
2009 Lecture Notes in Business Information Processing  
This paper presents a program logic for Eiffel that handles exceptions, once routines, and multiple inheritance. The logic is proven sound and complete w.r.t. an operational semantics.  ...  Object-oriented languages provide advantages such as reuse and modularity, but they also raise new challenges for program verification.  ...  For this reason, a change in the Eiffel exception handling mechanism has been proposed, and will be adopted by a future revision of the language standard. Outline.  ... 
doi:10.1007/978-3-642-02571-6_12 fatcat:cuj25vvjgrbzhge3jzree3jjc4

Eiffel as a Framework for Verification [chapter]

Bertrand Meyer
2008 Lecture Notes in Computer Science  
This position paper describes the goals of the Eiffel approach, presents current Eiffel-based verification techniques using contracts for run-time checks for testing and debugging, and outlines ongoing  ...  The Eiffel method and language integrate a number of ideas originating from work on program verification.  ...  This does not mean that they ignore other aspects of verification. In fact verification is almost as desirable for mainstream applications as it is -for example -for in-flight software.  ... 
doi:10.1007/978-3-540-69149-5_32 fatcat:fbneu5r3grfa5fjqlnvuw23gou

Verifying Eiffel Programs with Boogie [article]

Julian Tschannen, Carlo A. Furia, Martin Nordio, Bertrand Meyer
2011 arXiv   pre-print
This paper presents AutoProof, a verification tool that translates Eiffel programs to Boogie and uses the Boogie verifier to prove them.  ...  The next open challenges are to make verification tools usable even by programmers not fluent in formal techniques.  ...  The translation currently handles sophisticated language features such as exception handling and function objects (called agents in Eiffel parlance, and delegates in C#).  ... 
arXiv:1106.4700v1 fatcat:q3xa3ymyzngl7ny2uth7enin3q

Automatic Verification of Advanced Object-Oriented Features: The AutoProof Approach [chapter]

Julian Tschannen, Carlo Alberto Furia, Martin Nordio, Bertrand Meyer
2012 Lecture Notes in Computer Science  
This paper discusses some techniques used in AutoProof, a verification tool that translates Eiffel programs to Boogie and uses the Boogie verifier to prove them.  ...  The next open challenges are to make verification tools usable even by programmers not fluent in formal techniques.  ...  A preliminary version of this work has been presented at the First International Workshop on Intermediate Verification Languages (Boogie'11), held in Wroc law, Poland, in August 2011 and is available as  ... 
doi:10.1007/978-3-642-35746-6_5 fatcat:hoduxadx5bcwrfxyyt6v6m3c6e

Concurrent Object-Oriented Programming: The MP-Eiffel Approach

Miguel Oliveira e Silva
2004 Journal of Object Technology  
The exception handling mechanism is adapted for a concurrent environment in which a synchronous communication mechanism (either when accessing a shared object, or when sending a synchronous message to  ...  SCOOP semantics of reusing the separate part of preconditions for conditional synchronization is also used in MP-Eiffel.  ...  Exception handling MP-Eiffel implements the disciplined synchronous exception handling described in the section 4 for both forms of synchronous communication: inter-object communication involving several  ... 
doi:10.5381/jot.2004.3.4.a6 fatcat:upk5hbpkqbblpcx52qy5a7ibba

Proof-Transforming Compilation of Eiffel Programs [chapter]

Martin Nordio, Peter Müller, Bertrand Meyer
2008 Lecture Notes in Business Information Processing  
such important Eiffel mechanisms as multiple inheritance and contract-based exceptions.  ...  In modern development schemes the processing of programs often involves an intermediate step of translation to some intermediate bytecode, complicating the verification task.  ...  In particular, Eiffel supports multiple inheritance and a specific form of exception handling.  ... 
doi:10.1007/978-3-540-69824-1_18 fatcat:qeunzgjtjbf7jmr3s3w3o7xvii

AutoReq: expressing and verifying requirements for control systems [article]

Alexandr Naumchev, Bertrand Meyer, Manuel Mazzara, Florian Galinier, Jean-Michel Bruel, Sophie Ebersold
2019 arXiv   pre-print
AutoReq, presented in this article, takes a different approach to both the writing of requirements and their verification.  ...  In usual approaches, the use of different notations for requirements (often natural language) and implementations (a programming language) makes both conditions elusive.  ...  We are particularly grateful to Professor Angelo Gargantini for his openness, patience and insights in discussing the ASM work with us.  ... 
arXiv:1710.02801v2 fatcat:lix4m2vfnjcmbbthjjd4qgmo4y

Towards Practical Graph-Based Verification for an Object-Oriented Concurrency Model

Alexander Heußner, Christopher M. Poskitt, Claudio Corrodi, Benjamin Morandi
2015 Electronic Proceedings in Theoretical Computer Science  
One reason for this is the multitude of partially conflicting semantic formalisations for SCOOP (either in theory or by-implementation).  ...  Besides proposing the first approach to verify SCOOP programs by automatic translation to GTS, we also highlight our experiences of applying GTS (and especially GROOVE) for specifying semantics in the  ...  An exception is DS, where the overhead for LTL checking is substantial for n = (2, 4, 1).  ... 
doi:10.4204/eptcs.181.3 fatcat:4nebg7q635di7iloqxxpoaxl3a

Fourteen Years of Software Engineering at ETH Zurich [article]

Bertrand Meyer
2017 arXiv   pre-print
Our work, summarized here, covered a wide range of theoretical and practi-cal topics, with object technology in the Eiffel method as the unifying thread .  ...  Müller and Cristiano Calcagno) to verify advanced Eiffel mechanisms such as exception handling and agents [106] [127] [177] .  ...  Here for example is the validity rule for feature bodies in the standard: Such a rule represents a contract: it does not just tell the programmer the "only if" part, the conditions he has to satisfy for  ... 
arXiv:1712.05078v2 fatcat:g4z4x7gn3zdmvpc7uaan55mw24

A historical perspective on runtime assertion checking in software development

Lori A. Clarke, David S. Rosenblum
2006 Software engineering notes  
This report presents initial results in the area of software testing and analysis produced as part of the Software Engineering Impact Project.  ...  A future report will provide a more comprehensive assessment of development practice, for which we invite readers of this report to contribute information.  ...  for constraint checking and handling.  ... 
doi:10.1145/1127878.1127900 fatcat:4nf3gid425arrc6a5dpxjy5cau

Negative Variables and the Essence of Object-Oriented Programming [chapter]

Bertrand Meyer, Alexander Kogtenkov
2014 Lecture Notes in Computer Science  
The approach has been implemented as part of an open-source verification environment for Eiffel and used to perform a number of proofs and analyses.  ...  The notion of negative variable, discussed in this article, provides a simple and convenient technique for reasoning about OO programs in any semantic framework.  ...  The mechanisms for dealing with negative variables, particularly in the axiomatic and alias calculus applications, have been implemented in EVE (Eiffel Verification Environment) 4 , the research version  ... 
doi:10.1007/978-3-642-54624-2_9 fatcat:fivixw72zzhundnyrdah74qy6a

Beyond contracts for concurrency

Jonathan S. Ostroff, Faraz Ahmadi Torshizi, Hai Feng Huang, Bernd Schoeller
2008 Formal Aspects of Computing  
In this paper we describe how far contracts can take us in verifying interesting properties of concurrent systems using modular Hoare rules and show how theorem proving methods developed for sequential  ...  The SVM uses the Hoare rules where applicable to reduce the number of steps in a computation.  ...  We thank the participants of CORDIE'06 for stimulating discussions. This work was performed with the help of a grant from NSERC. Beyond Contracts for Concurrency  ... 
doi:10.1007/s00165-008-0073-8 fatcat:qnnrfkc5qfdozinpbdhu4jgqjm

Alias calculus, change calculus and frame inference

Alexander Kogtenkov, Bertrand Meyer, Sergey Velder
2015 Science of Computer Programming  
Alias analysis, which determines whether two expressions in a program may reference to the same object, has many potential applications in program construction and verification.  ...  Other applications, in particular to concurrent programming, also appear possible.  ...  This work was carried out in the ITMO Software Engineering and Verification Laboratory, as part of a "megagrant" funded by the Mail.ru group.  ... 
doi:10.1016/j.scico.2013.11.006 fatcat:h7cm7ftjh5alheoe6eug56l6pm

Reflective Constraint Management for Languages on Virtual Platforms

Mark Royer, Suad Alagic, Dan Dillon
2007 Journal of Object Technology  
Using extended reflective capabilities to access assertions in (dynamically) loaded class objects allows a variety of general and flexible verification techniques.  ...  Extending an object-oriented type system with assertions makes it possible for programs using reflection to rely on semantic information to ensure correct use of discovered types.  ...  , as in Eiffel or JML.  ... 
doi:10.5381/jot.2007.6.10.a1 fatcat:ae6y3zd6vrd7ncvxfibfb5of3i

Design and implementation of assertions for the common language infrastructure

N. Tran, C. Mingins, D. Abramson
2003 IEE Proceedings - Software  
The design also enforces behavioural sub-typing and object re-entrance rules, and provides sensible exception handling.  ...  Assertions are a well established mechanism for the specification and verification of program semantics in the forms of pre-conditions, post-conditions and invariants of object and component interfaces  ...  These include translation rules, which are most important for source-level tools, exception handling rule, object re-entrance rule, sub-typing and assertion inheritance rule, and old values handling rule  ... 
doi:10.1049/ip-sen:20030988 fatcat:2yf26xuzkvdvvjllhwpefxwoba
« Previous Showing results 1 — 15 out of 746 results