1,739 Hits in 4.0 sec

Simplifying reasoning about objects with Tako

Gregory Kulczycki, Jyotindra Vasudeo
2006 Proceedings of the 2006 conference on Specification and verification of component-based systems - SAVCBS '06  
A fundamental complexity in understanding and reasoning about object-oriented languages is the need for programmers to view variables as references to objects rather than directly as objects.  ...  It discusses the benefits of such a language, including its use as an instructional tool to help teach students how to reason formally about their code.  ...  Keeping functions free from side-effects simplifies reasoning about programs that include conditions, as in if and while statements.  ... 
doi:10.1145/1181195.1181207 fatcat:j4q2uvb6rfczbi7ifr3lxq7r6e

Modular typestate checking of aliased objects

Kevin Bierhoff, Jonathan Aldrich
2007 Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications - OOPSLA '07  
Case studies on Java iterators and streams provide evidence that access permissions can model realistic protocols, and protocol checking based on access permissions can be used to reason precisely about  ...  For each object reference the checker keeps track of the degree of possible aliasing and is appropriately conservative in reasoning about that reference.  ...  Systems", and the U.S.  ... 
doi:10.1145/1297027.1297050 dblp:conf/oopsla/BierhoffA07 fatcat:itxlog6grzf5lh4wdewhv524ae

Modular typestate checking of aliased objects

Kevin Bierhoff, Jonathan Aldrich
2007 SIGPLAN notices  
Case studies on Java iterators and streams provide evidence that access permissions can model realistic protocols, and protocol checking based on access permissions can be used to reason precisely about  ...  For each object reference the checker keeps track of the degree of possible aliasing and is appropriately conservative in reasoning about that reference.  ...  Systems", and the U.S.  ... 
doi:10.1145/1297105.1297050 fatcat:ckz7272aobgpdgs2tr2htldmmm

Automated program verification made SYMPLAR

Kevin Bierhoff
2011 Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software - ONWARD '11  
Unfortunately, aliasing still prevents automated program verification tools from easily and soundly verifying interesting programs.  ...  The paper shows that a verification tool based on symbolic permissions can easily verify a design pattern with inherent aliasing challenges.  ...  Acknowledgments The author thanks Ciera Jaspan and Nels Beckman for valuable feedback on earlier drafts of this paper.  ... 
doi:10.1145/2048237.2048242 dblp:conf/oopsla/Bierhoff11 fatcat:7mw6slfukfbxtlf2cspoou6o5u

Teaching Program Specification and Verification Using JML and ESC/Java2 [chapter]

Erik Poll
2009 Lecture Notes in Computer Science  
of (Java) programming.  ...  The paper summarises our experiences teaching formal program specification and verification using the specification language JML and the automated program verification tool ESC/Java2.  ...  Acknowledgements Credit goes to the many people have contributed to the development of ESC/Java (2)  ... 
doi:10.1007/978-3-642-04912-5_7 fatcat:gb4or7jpvvbghhzu57jinfam3q

Formal Techniques for Java Programs [chapter]

Gary T. Leavens, Sophia Drossopoulou, Susan Eisenbach, Arnd Poetzsch-Heffter, Erik Poll
2002 Lecture Notes in Computer Science  
This report gives an overview of the third ECOOP Workshop on Formal Techniques for Java Programs. It explains the motivation for such a workshop and summarizes the presentations and discussions.  ...  A client calling a method can use the methods specification to reason about the called method's relevant locations, and can reason directly about abstract locations that may depend on them.  ...  Clearly one wants to reason about these properties in a modular way, so that frame properties can be specified and verified of an individual class irrespective of the context in which it is used, and irrespective  ... 
doi:10.1007/3-540-47853-1_3 fatcat:rbitilj3dbfgxohlt3lenzkcze

Aliasing, Confinement, and Ownership in Object-Oriented Programming [chapter]

Dave Clarke, Sophia Drossopoulou, James Noble
2004 Lecture Notes in Computer Science  
Aliasing makes objects depend on their environment in unpredictable ways, breaking the encapsulation necessary for reliable software components, making it difficult to reason about and optimize programs  ...  Instead we seek techniques for describing, reasoning about, restricting, analyzing, and preventing the connections between objects and/or the flow of information between them.  ...  propositional content of assertions and the framing required to deal with heap storage and delineate potential aliasing.  ... 
doi:10.1007/978-3-540-25934-3_19 fatcat:h7g7haw6dffexea4b7oslmu5q4

Targeted test input generation using symbolic-concrete backward execution

Peter Dinges, Gul Agha
2014 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering - ASE '14  
However, manually converting programs from lock-based synchronization to atomic sets requires reasoning about the program's concurrency structure, which can be a challenge even for small programs.  ...  Our analysis eliminates the challenge by automating the reasoning.  ...  Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon.  ... 
doi:10.1145/2642937.2642951 dblp:conf/kbse/DingesA14 fatcat:nutrd5u6tfeszof2xjtjmp7oqu

Proving Resource Consumption of Low-level Programs Using Automated Theorem Provers

Jaroslav Ševčík
2007 Electronical Notes in Theoretical Computer Science  
We have adapted an existing resource counting logic [1] to fit the first-order setting, implemented a verification condition generator, and tested our approach on programs that contain recursion and deal  ...  In this paper we use a program logic and automatic theorem provers to certify resource usage of low-level bytecode programs equipped with annotations describing resource consumption for methods.  ...  In Sect. 5 we will discuss the problems arising when reasoning about programs with heap aliasing and suggest possible solutions to the difficulties. Sect. 6 concludes.  ... 
doi:10.1016/j.entcs.2007.02.065 fatcat:5xs5kattzvfndcbzbn37ooaiw4

Poplar: A Java Extension for Evolvable Component Integration [article]

Johan Nyström-Persson, Shinichi Honiden
2011 arXiv   pre-print
The Java programming language contains many features that aid component-based software development (CBSD), such as interfaces, visibility levels, and strong support for encapsulation.  ...  We present a Java extension, Poplar, which we are currently developing.  ...  Acknowledgments The authors would like to thank Liyang Hu, Zhenjiang Hu, Atsushi Igarashi, Michael Nett and the Honiden laboratory's MALACS group for helpful comments on this work.  ... 
arXiv:1106.1531v2 fatcat:kikaoj3aa5ebdkp6fkr6se3an4

Predicate abstraction in Java Pathfinder

Jakub Daniel, Pavel Parízek, Corina S. Păsăreanu
2014 Software engineering notes  
We describe our solution to these challenges and selected details about the implementation. We also discuss our future plans and research ideas.  ...  We present our ongoing effort to implement predicate abstraction in Abstract Pathfinder, which is an extension of Java Pathfinder.  ...  Symbolic expressions sv and se corresponding to v and e, respectively, are used for reasoning about the effects of the assignment instruction.  ... 
doi:10.1145/2557833.2560573 fatcat:pon7bdxuhfhepbnzl4ykc4abie

VeriFast for Java: A Tutorial [chapter]

Jan Smans, Bart Jacobs, Frank Piessens
2013 Lecture Notes in Computer Science  
programs with aliasing.  ...  .): Aliasing in Object-Oriented Programming, LNCS 7850, pp. 407-442, 2013. c Springer-Verlag Berlin Heidelberg 2013 1 Separation logic is an extension of Hoare logic oriented to reasoning about imperative  ...  Besides separation logic, the research literature contains many other approaches for reasoning about imperative programs with shared mutable state such as the Boogie methodology [12] , dynamic frames  ... 
doi:10.1007/978-3-642-36946-9_14 fatcat:mvn3c6y5nrgczkl5mowqnlvsnu

AutoFrame: Automatic Frame Inference for Object-Oriented Languages [article]

Victor Rivera, Bertrand Meyer
2019 arXiv   pre-print
4 minutes) of frame conditions for a 150,000-line graphical and GUI library.  ...  and algorithms library which was previously (with the manually written frame clauses) verified for functional correctness using a mechanical program prover; and (2) the automatic generation (in less than  ...  We thank members of the Software Engineering Laboratory at Innopolis University, particularly Manuel Mazzara and Alexander Naumchev, for many fruitful discussions.  ... 
arXiv:1808.08751v4 fatcat:bbtmyw6fsjenhiukcwpkstl4je

Typestates for Objects [chapter]

Robert DeLine, Manuel Fähndrich
2004 Lecture Notes in Computer Science  
The main technical problem preventing static verification is reasoning about the sharing relationships among objects as well as where object invariants should hold.  ...  We have developed a programming model of typestates for objects with a sound modular checking algorithm.  ...  Acknowledgments We thank the anonymous reviewers for their helpful comments and suggestions.  ... 
doi:10.1007/978-3-540-24851-4_21 fatcat:e46jidbjjvhhtdbydpyhtlzfei

The KeY Platform for Verification and Analysis of Java Programs [chapter]

Wolfgang Ahrendt, Bernhard Beckert, Daniel Bruns, Richard Bubel, Christoph Gladisch, Sarah Grebing, Reiner Hähnle, Martin Hentschel, Mihai Herda, Vladimir Klebanov, Wojciech Mostowski, Christoph Scheben (+2 others)
2014 Lecture Notes in Computer Science  
the complexity of verification such as modularization and abstract interpretation, (iii) analyses of non-functional properties such as information flow security, and (iv) sound program transformation  ...  The KeY system offers a platform of software analysis tools for sequential Java. Foremost, this includes full functional verification against contracts written in the Java Modeling Language.  ...  The technique to specify frames and footprints in JML * and to reason about them in KeY is the dynamic frames approach [8, 11] , that introduces a type \locset for location sets.  ... 
doi:10.1007/978-3-319-12154-3_4 fatcat:3eunuqfaxzhdvg6xcr5muxx2sq
« Previous Showing results 1 — 15 out of 1,739 results