Filters








174 Hits in 1.2 sec

Lightweight object specification with typestates

Kevin Bierhoff, Jonathan Aldrich
2005 Software engineering notes  
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages.  ...  We propose a specification technique for objects based on abstract states that incorporates state refinement, method refinement, and orthogonal state dimensions.  ...  DeLine and Fähndrich developed Fugue [7] which tracks typestates for linear objects. Fugue is the only existing attempt to incorporate typestate into object-oriented languages.  ... 
doi:10.1145/1095430.1081741 fatcat:cixupk22rfe45kxggd3wyymgla

Lightweight object specification with typestates

Kevin Bierhoff, Jonathan Aldrich
2005 Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering - ESEC/FSE-13  
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages.  ...  We propose a specification technique for objects based on abstract states that incorporates state refinement, method refinement, and orthogonal state dimensions.  ...  DeLine and Fähndrich developed Fugue [7] which tracks typestates for linear objects. Fugue is the only existing attempt to incorporate typestate into object-oriented languages.  ... 
doi:10.1145/1081706.1081741 dblp:conf/sigsoft/BierhoffA05 fatcat:ru53gdqyirf2fgqrq5ra34xpzm

Checking framework plugins

Ciera Jaspan, Jonathan Aldrich
2007 Companion to the 22nd ACM SIGPLAN conference on Object oriented programming systems and applications companion - OOPSLA '07  
This work creates a lightweight mechanism specifying semantic constraints on the framework and checking plugins against this specification.  ...  These constraints are relative to the context of the plugin, and they can involve multiple framework objects.  ...  Additionally, framework states involve multiple interacting objects; this is awkward to model with object typestates.  ... 
doi:10.1145/1297846.1297892 dblp:conf/oopsla/JaspanA07 fatcat:rjoauldo6zawvn7txehnutapra

Typestate protocol specification in JML

Taekgoo Kim, Kevin Bierhoff, Jonathan Aldrich, Sungwon Kang
2009 Proceedings of the 8th international workshop on Specification and verification of component-based systems - SAVCBS '09  
Typestate protocol specification is a more direct, lightweight and abstract way of documenting usage protocols for object-oriented programs.  ...  It shows how typestate protocol specifications can be mixed with pre/post-condition specifications and how violations of code contracts in inheritance can be handled.  ...  Our design supports mixing typestate protocols and pure JML specifications, so developers can specify behavior in a lightweight way with typestate protocols, and seamlessly extend that specification with  ... 
doi:10.1145/1596486.1596490 dblp:conf/sigsoft/KimBAK09 fatcat:hwyexutnsjh5xg2s4szbv2u3ma

Continuous code-quality assurance with SAFE

Emmanuel Geay, Eran Yahav, Stephen Fink
2006 Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation - PEPM '06  
This paper presents the design of SAFE (Scalable and Flexible Error Detection), a static analysis tool targeting lightweight program verification and bug finding for Java.  ...  The tool utilizes two types of analysis: a simple "structural" checker based on pattern-matching, and an interprocedural flow-sensitive dataflow solver which integrates typestate checking and alias analysis  ...  In addition, we are investigating the use of specification mining techniques to automatically generate typestate specifications.  ... 
doi:10.1145/1111542.1111567 dblp:conf/pepm/GeayYF06 fatcat:y4hldejj6rf6nlca3dn65xho54

A case study on the lightweight verification of a multi-threaded task server

Néstor Cataño, Ijaz Ahmed, Radu I. Siminiceanu, Jonathan Aldrich
2014 Science of Computer Programming  
The Plural specification language is based on typestates and access permissions.  ...  detected with the Data Flow Analysis (DFA) capabilities of Plural.  ...  The ensures clause of MttsTask constructor produces an object with Unique access permission and in typestate Created.  ... 
doi:10.1016/j.scico.2013.01.004 fatcat:eslxggi3djg6bjwkcyjyz3vleq

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2012 SIGPLAN notices  
Given a state machine describing correct program behavior on certain object typestates, 2ndStrike profiles runtime events related to the typestates and thread synchronization.  ...  Finally, 2ndStrike re-executes the program with controlled thread interleaving to manifest bug candidates.  ...  At each typestate, an object is permitted to be applied with a subset of operations.  ... 
doi:10.1145/2248487.1950394 fatcat:ex47ee45wjehfpno3gctuvroui

Generating test cases for specification mining

Valentin Dallmeier, Nikolai Knopp, Christoph Mallon, Sebastian Hack, Andreas Zeller
2010 Proceedings of the 19th international symposium on Software testing and analysis - ISSTA '10  
typestate verifier fed with enriched models would report significantly more true positives, and significantly fewer false positives than the initial models.  ...  The TAUTOKO 1 typestate miner generates test cases that cover previously unobserved behavior, systematically extending the execution space and enriching the specification.  ...  To help the developer avoid bugs due to incorrect usage of those classes, her IDE supports lightweight typestate verification.  ... 
doi:10.1145/1831708.1831719 dblp:conf/issta/DallmeierKMHZ10 fatcat:nwhtck7yo5defey6v3e6korfci

Automatically Generating Test Cases for Specification Mining

Valentin Dallmeier, Nikolai Knopp, Christoph Mallon, Gordon Fraser, Sebastian Hack, Andreas Zeller
2012 IEEE Transactions on Software Engineering  
typestate verifier fed with enriched models would report significantly more true positives, and significantly fewer false positives than the initial models.  ...  The TAUTOKO 1 typestate miner generates test cases that cover previously unobserved behavior, systematically extending the execution space and enriching the specification.  ...  To help the developer avoid bugs due to incorrect usage of those classes, her IDE supports lightweight typestate verification.  ... 
doi:10.1109/tse.2011.105 fatcat:pf3blwo765gubfofjye6hvvbzi

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2011 SIGPLAN notices  
Given a state machine describing correct program behavior on certain object typestates, 2ndStrike profiles runtime events related to the typestates and thread synchronization.  ...  Finally, 2ndStrike re-executes the program with controlled thread interleaving to manifest bug candidates.  ...  At each typestate, an object is permitted to be applied with a subset of operations.  ... 
doi:10.1145/1961296.1950394 fatcat:if66yqsbcrez3n3553cfyaztr4

The SAFE Experience [chapter]

Eran Yahav, Stephen Fink
2011 Engineering of Software  
The work on SAFE covered a lot of ground, starting from typestate verification techniques [18, 19] , through inference of typestate specifications [34, 35] , checking for absence of null derefences [26  ...  The goal of SAFE was to create a practical lightweight framework to verify simple properties of realistic Java applications.  ...  An effective static client-side specification mining shares many of the challenges with typestate verification.  ... 
doi:10.1007/978-3-642-19823-6_3 fatcat:y5lh6jihu5ablcl25qa44q6kfa

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2011 Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems - ASPLOS '11  
Given a state machine describing correct program behavior on certain object typestates, 2ndStrike profiles runtime events related to the typestates and thread synchronization.  ...  Finally, 2ndStrike re-executes the program with controlled thread interleaving to manifest bug candidates.  ...  At each typestate, an object is permitted to be applied with a subset of operations.  ... 
doi:10.1145/1950365.1950394 dblp:conf/asplos/GaoZCZQ11 fatcat:wp2pizumabgzto4ifqu24clnlu

2ndStrike

Qi Gao, Wenbin Zhang, Zhezhe Chen, Mai Zheng, Feng Qin
2011 SIGARCH Computer Architecture News  
Given a state machine describing correct program behavior on certain object typestates, 2ndStrike profiles runtime events related to the typestates and thread synchronization.  ...  Finally, 2ndStrike re-executes the program with controlled thread interleaving to manifest bug candidates.  ...  At each typestate, an object is permitted to be applied with a subset of operations.  ... 
doi:10.1145/1961295.1950394 fatcat:mfilqs7denc7nkyrtwyd62luca

Effective typestate verification in the presence of aliasing

Stephen J. Fink, Eran Yahav, Nurit Dor, G. Ramalingam, Emmanuel Geay
2008 ACM Transactions on Software Engineering and Methodology  
This paper addresses the challenge of sound typestate verification, with acceptable precision, for real-world Java programs.  ...  We present a novel framework for verification of typestate properties, including several new techniques to precisely treat aliases without undue performance costs.  ...  The goal of typestate checking is to statically verify that no object reaches its error typestate during any program execution. 1 shows a finite state automaton providing a partial specification for  ... 
doi:10.1145/1348250.1348255 fatcat:j2ajslzts5exdhghebtarbqty4

Hermes language experiences

Willard Korfhage, Arthur P. Goldberg
1995 Software, Practice & Experience  
We recount and examine experiences with Hermes, an experimental language for programming distributed systems.  ...  Two research projects did combine Hermes with object-oriented languages.  ...  However, in-place table updates are not in the language because of typestate considerations. All elements of a table must have a specific typestate.  ... 
doi:10.1002/spe.4380250404 fatcat:x34ifqaf3bfw5naxux3nsjboui
« Previous Showing results 1 — 15 out of 174 results