Filters








161 Hits in 1.7 sec

Typestate Checking and Regular Graph Constraints [article]

Viktor Kuncak, Martin Rinard
2004 arXiv   pre-print
We introduce regular graph constraints and explore their decidability properties.  ...  The motivation for regular graph constraints is 1) type checking of changing types of objects in the presence of linked data structures, 2) shape analysis techniques, and 3) generalization of similar constraints  ...  We thank Chandrasekhar Boyapati and Patrick Lam for useful comments on a draft of this paper.  ... 
arXiv:cs/0408014v1 fatcat:lqiuyak3hzbr3ead6325yr5y5a

Presburger-Definable Parameterized Typestates [article]

Ashish Mishra, Deepak Dsouza, Y. N. Srikant
2017 arXiv   pre-print
To address these issues, we introduce parameterized typestates (p-typestates). p-typestates associate a logical property with each state of regular typestate, thereby allowing specification of properties  ...  Automatic inductive type-checking of p-typestate properties usually requires a programmer to provide loop invariants as annotations.  ...  However such a check for scanStartElement, scanEndElement and endOfFile requires checking value of counters ns and ne and thus cannot be specified using regular typestates.  ... 
arXiv:1712.08753v1 fatcat:5hpmkjfwxzdjpj3hgwywhipssa

Retrofitting Typestates into Rust

José Duarte, António Ravara
2021 25th Brazilian Symposium on Programming Languages  
Ideally, we want to specify constraints and have the computer reason for us; typestates enable developers to describe states using the type system and allow the compiler to reason about them.  ...  We propose an approach to bring typestates to Rust, without any external tools, leveraging only Rust's type and macro systems.  ...  paper, and the reviewers'.  ... 
doi:10.1145/3475061.3475082 fatcat:2yaxcysetndwtbq6oq4hxbpskq

RGSE: a regular property guided symbolic executor for Java

Hengbiao Yu, Zhenbang Chen, Yufeng Zhang, Ji Wang, Wei Dong
2017 Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2017  
It is challenging to effectively check a regular property of a program.  ...  RGSE can benefit many research topics of software testing and analysis, such as path-oriented test case generation, typestate bug finding, and performance tuning.  ...  RELATED WORK Static analysis and dynamic analysis are two effective approaches for checking regular properties.  ... 
doi:10.1145/3106237.3122830 dblp:conf/sigsoft/YuCZWD17 fatcat:vd3ta26igfblxawiox7lfsywdm

Considering Typestate Verification for Quantified Event Automata [chapter]

Giles Reger
2016 Lecture Notes in Computer Science  
There exist effective static analysis techniques for checking typestate properties and this has been an area of research since typestates were first introduced in 1986.  ...  Additionally, the notion of typestate has been extended to reflect the more expressive properties seen in this area and additional static and dynamic analyses have been introduced.  ...  Typestate Verification Verification of typestate properties is straightforward in the sense that one only needs to construct the control-flow graph (CFG) of the program and track each instance of an object  ... 
doi:10.1007/978-3-319-47166-2_33 fatcat:lkvxzuv3d5hcbbstxhdxbet5t4

Existential Heap Abstraction Entailment Is Undecidable [chapter]

Viktor Kuncak, Martin Rinard
2003 Lecture Notes in Computer Science  
Motivated by heap summary graphs in role analysis and shape analysis we introduce the notion of regular graph constraints.  ...  Regular graph constraints form a very simple and natural fragment of the existential monadic second-order logic over graphs.  ...  We thank Patrick Lam, Darko Marinov, Chandrasekhar Boyapati, and anonymous reviewers for useful comments on an earlier version of this paper.  ... 
doi:10.1007/3-540-44898-5_24 fatcat:6omoyo5qpnh65jcreudtdjn36q

Finding programming errors earlier by evaluating runtime monitors ahead-of-time

Eric Bodden, Patrick Lam, Laurie Hendren
2008 Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering - SIGSOFT '08/FSE-16  
The approach revealed defects and suspicious code in three benchmark programs.  ...  We applied a set of 13 tracematches to the DaCapo benchmark suite and SciMark2.  ...  Stephen Fink provided valuable information about instance keys and SSA form. Brian Demsky and Nomair Naeem provided useful comments on an earlier version of this paper.  ... 
doi:10.1145/1453101.1453109 dblp:conf/sigsoft/BoddenLH08 fatcat:csio5naepnbb7gjjcptvjqarse

Applications of Synchronized Pushdown Systems [chapter]

Johannes Späth
2020 Ernst Denert Award for Software Engineering 2019  
IDEal is a generic and efficient framework for data-flow analyses, e.g., typestate analysis. IDEal resolves pointer relations automatically and efficiently by the help of Boomerang.  ...  Further on, this chapter summarizes two other contributions of the thesis "Synchronized Pushdown System for Pointer and Data-Flow Analysis" called Boomerang and IDEal.  ...  Acknowledgments My high appreciation to all my co-authors of the work, who largely shaped and influenced this work: Karim Ali, Eric Bodden, Stefan Krüger, Johannes Lerch, Mira Mezini, and Lisa Nguyen Quang  ... 
doi:10.1007/978-3-030-58617-1_3 fatcat:daee23tha5cuhevxzmp5fx5rey

Typestate-like analysis of multiple interacting objects

Nomair A. Naeem, Ondrej Lhotak
2008 Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA '08  
This paper presents a static analysis of typestate-like temporal specifications of groups of interacting objects, which are expressed using tracematches.  ...  The analysis was evaluated on tracematches used in earlier work and found to be very precise.  ...  Finally, we thank the anonymous reviewers for their useful remarks and suggestions for the paper. This research was supported by the Natural Sciences and Engineering Research Council of Canada.  ... 
doi:10.1145/1449764.1449792 dblp:conf/oopsla/NaeemL08 fatcat:czoivjxgw5amxbegbx75c4vp5q

Deriving object typestates in the presence of inter-object references

Mangala Gowri Nanda, Christian Grothoff, Satish Chandra
2005 SIGPLAN notices  
It can be used in checking whether a given client code erroneously uses a set of Java classes in a way that can throw an exception.  ...  Our analysis first performs a combined predicate discovery and predicate abstraction to derive "boolean" versions of Java classes given as input.  ...  The graph contains an initial state A ⊥ , in which all objects are in their respective uninitialized typestates (τ 0 ).  ... 
doi:10.1145/1103845.1094818 fatcat:wlt6h76a4rezxbwxxbmwojwmje

Deriving object typestates in the presence of inter-object references

Mangala Gowri Nanda, Christian Grothoff, Satish Chandra
2005 Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA '05  
It can be used in checking whether a given client code erroneously uses a set of Java classes in a way that can throw an exception.  ...  Our analysis first performs a combined predicate discovery and predicate abstraction to derive "boolean" versions of Java classes given as input.  ...  The graph contains an initial state A ⊥ , in which all objects are in their respective uninitialized typestates (τ 0 ).  ... 
doi:10.1145/1094811.1094818 dblp:conf/oopsla/NandaGC05 fatcat:tjmxzgiulvhjfmwk7vxeucrh5e

Purity and Side Effect Analysis for Java Programs [chapter]

Alexandru Sălcianu, Martin Rinard
2005 Lecture Notes in Computer Science  
The analysis can also generate regular expressions that characterize the externally visible heap locations that the method mutates.  ...  We have implemented our analysis and used it to analyze several applications.  ...  We would also like to thank Suhabe Bugrara for his Java package for regular expressions, and the anonymous referees for their useful comments.  ... 
doi:10.1007/978-3-540-30579-8_14 fatcat:qlzjuzx3xjhhddkauqwlinrcuq

CrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIs

Stefan Krüger, Johannes Späth, Karim Ali, Eric Bodden, Mira Mezini, Michael Wagner
2018 European Conference on Object-Oriented Programming  
The analysis then helps developers by automatically checking a given Java or Android app for compliance with the CrySL-encoded rules.  ...  In this paper, we present CrySL, a definition language for bridging the cognitive gap between cryptography experts and developers.  ...  ., typestate analysis [3, 7, 28, 8 ] and data-flow checks [2, 5] ) by enabling the expression of domain-specific constraints related to cryptographic algorithms and their parameters.  ... 
doi:10.4230/lipics.ecoop.2018.10 dblp:conf/ecoop/KrugerS0BM18 fatcat:52jankc2inabfhzrzsxw3fwhza

An Intuitive Approach for Specifying Interface Constraint

Qianxiang Wang
2009 2009 Ninth International Conference on Quality Software  
As a directed graph, the proposed approach is intuitive and powerful. Notations of relationships are introduced, followed by some examples.  ...  ., classes, components and services.  ...  Mathur at Purdue University for hosting the author as a visiting scholar when this research work was explored, and for providing so much help in the preparation of this paper.  ... 
doi:10.1109/qsic.2009.62 dblp:conf/qsic/Wang09 fatcat:ylqg2uia2vbitp5vxnzwpg5ej4

Static Sessional Dataflow [chapter]

Dominic Duggan, Jianhua Yao
2012 Lecture Notes in Computer Science  
The latter is ensured by causalities, a form of constraints that record dependencies in the firing behavior.  ...  The interesting issues arise in enforcing static flow requirements in the composition of actors, ensuring that input and output rates of actors on related channels match, and that cycles in the composition  ...  judgement just checks for well-formedness of the channel flow constraints in an actor.  ... 
doi:10.1007/978-3-642-31057-7_22 fatcat:hhotz7lbsvdpfn5gfbdblepazu
« Previous Showing results 1 — 15 out of 161 results