Abstract
Dominance, the property that all paths to a given object must go through another object, is at the heart of ownership type disciplines. While ownership types have received abundant attention, ownership inference remains an open problem, and crucial questions about the practical impact of ownership remain unanswered. We argue that a static program analysis that infers dominance is a crucial first step to ownership types inference. This paper describes an algorithm for statically computing dominance relations and shows that it can be used as part of an ownership inference algorithm.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aldrich, J., Kostadinov, V., Chambers, C.: Alias annotations for program understanding. In: OOPSLA, pp. 311–330 (2002)
Boyapati, C., Liskov, B., Shrira, L.: Ownership types for object encapsulation. In: POPL, pp. 213–223 (2003)
Clarke, D., Potter, J., Noble, J.: Ownership types for flexible alias protection. In: OOPSLA, pp. 48–64 (1998)
Cunningham, D., Dietl, W., Drossopoulou, S., Francalanza, A., Muller, P., Summers, A.: Universe types for topology and encapsulation. In: FMCO (2008)
Dietl, W., Müller, P.: Runtime Universe type inference. In: IWACO (2007)
Lengauer, T., Tarjan, R.: A fast algorithm for finding dominators in a flowgraph. ACM TOPLAS 1(1), 121–141 (1979)
Lhoták, O., Hendren, L.: Scaling java points-to analysis using SPARK. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 153–169. Springer, Heidelberg (2003)
Liu, Y., Milanova, A.: Ownership and immutability inference for UML-based object access control. In: ICSE, pp. 323–332 (2007)
Ma, K., Foster, J.: Inferring aliasing and encapsulation properties for Java. In: OOPSLA, pp. 423–440 (2007)
Milanova, A.: Static inference of Universe types. In: IWACO (2008)
Mitchell, N.: The runtime structure of object ownership. In: Hu, Q. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 74–98. Springer, Heidelberg (2006)
Naik, M., Park, C.-S., Sen, K., Gay, D.: Effective static deadlock detection. In: ICSE, pp. 386–396 (2009)
M. Papi, M. Ali, T. Correa Jr., J. Perkins, and M. Ernst. Practical pluggable types for Java. In: ISSTA, pp. 261–272 (2008)
Potanin, A., Noble, J., Biddle, R.: Checking ownership and confinement. Concurrency - Practice and Experience 16(7), 671–687 (2004)
Rountev, A., Milanova, A., Ryder, B.: Points-to analysis for Java using annotated constraints. In: OOPSLA, pp. 43–55 (2001)
Rountev, A., Milanova, A., Ryder, B.G.: Fragment class analysis for testing of polymorphism in Java software. IEEE TSE 30(6), 372–386 (2004)
Vallée-Rai, R., Gagnon, E.M., Hendren, L., Lam, P., Pominville, P., Sundaresan, V.: Optimizing java bytecode using the soot framework: Is it feasible? In: Watt, D.A. (ed.) CC 2000. LNCS, vol. 1781, pp. 18–34. Springer, Heidelberg (2000)
Vaziri, M., Tip, F., Dolby, J., Hammer, C., Vitek, J.: A type system for data-centric synchronization. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 304–328. Springer, Heidelberg (2010)
Vetchev, M., Yahav, E., Yorsh, G.: Phalanx: Parallel checking of expressive heap assertions. In: ISMM, pp. 41–50 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Milanova, A., Vitek, J. (2011). Static Dominance Inference. In: Bishop, J., Vallecillo, A. (eds) Objects, Models, Components, Patterns. TOOLS 2011. Lecture Notes in Computer Science, vol 6705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21952-8_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-21952-8_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21951-1
Online ISBN: 978-3-642-21952-8
eBook Packages: Computer ScienceComputer Science (R0)