2008
DOI: 10.1145/1449955.1449792
|View full text |Cite
|
Sign up to set email alerts
|

Typestate-like analysis of multiple interacting objects

Abstract: This paper presents a static analysis of typestate-like temporal specifications of groups of interacting objects, which are expressed using tracematches. Whereas typestate expresses a temporal specification of one object, a tracematch state may change due to operations on any of a set of related objects bound by the tracematch. The paper proposes a lattice-based operational semantics equivalent to the original tracematch semantics but better suited to static analysis. The paper defines a static analysis that c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
11
0

Year Published

2009
2009
2015
2015

Publication Types

Select...
5
3
2

Relationship

2
8

Authors

Journals

citations
Cited by 17 publications
(11 citation statements)
references
References 31 publications
0
11
0
Order By: Relevance
“…The semantic patches used by Coccinelle are quite different from our typestate analysis with dependency analysis. To perform a typestate-like analysis of multiple interacting objects, Naeem and Lhoták propose an abstract representation for objects [29], which is similar to our access-path clusters domain. While they only allow access paths that represent local variables, our domain allows arbitrary access paths, which is required for analyzing C++ programs.…”
Section: Related Workmentioning
confidence: 99%
“…The semantic patches used by Coccinelle are quite different from our typestate analysis with dependency analysis. To perform a typestate-like analysis of multiple interacting objects, Naeem and Lhoták propose an abstract representation for objects [29], which is similar to our access-path clusters domain. While they only allow access paths that represent local variables, our domain allows arbitrary access paths, which is required for analyzing C++ programs.…”
Section: Related Workmentioning
confidence: 99%
“…There has been intensive research performed in the past decade to improve the efficiency of runtime monitoring tools, particularly by applying the static analyses to eliminate unnecessary instrumentation [6,7,11,17,19]. Even though these approaches have shown strong potential, it is challenging to develop a static analysis that is precise and yet scalable.…”
Section: Related Workmentioning
confidence: 99%
“…Consequently, removing a probe may cause an analysis to become unsound. Recent work addresses this issue by applying various sophisticated static analyses to the path property under analysis to determine monitoring points that are unlikely to expose path violations and remove them offline [Bodden 2010;Bodden et al 2007Bodden et al , 2008aDwyer and Purandare 2007;Naeem and Lhotak 2008], by employing a watchdog thread to periodically trigger simultaneous enabling/disabling of probes [Bodden et al 2008b] (this approach may miss a violation), or by calculating and enabling only the set of probes necessary to observe the transitions to other states ]. These techniques are orthogonal to and can be applied jointly with our approach.…”
Section: Related Workmentioning
confidence: 99%