Static Dominance Inference

  • Ana Milanova
  • Jan Vitek
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6705)


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.


Type Inference Object Graph Ownership Type Abstract Semantic Deadlock Detection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aldrich, J., Kostadinov, V., Chambers, C.: Alias annotations for program understanding. In: OOPSLA, pp. 311–330 (2002)Google Scholar
  2. 2.
    Boyapati, C., Liskov, B., Shrira, L.: Ownership types for object encapsulation. In: POPL, pp. 213–223 (2003)Google Scholar
  3. 3.
    Clarke, D., Potter, J., Noble, J.: Ownership types for flexible alias protection. In: OOPSLA, pp. 48–64 (1998)Google Scholar
  4. 4.
    Cunningham, D., Dietl, W., Drossopoulou, S., Francalanza, A., Muller, P., Summers, A.: Universe types for topology and encapsulation. In: FMCO (2008)Google Scholar
  5. 5.
    Dietl, W., Müller, P.: Runtime Universe type inference. In: IWACO (2007)Google Scholar
  6. 6.
    Lengauer, T., Tarjan, R.: A fast algorithm for finding dominators in a flowgraph. ACM TOPLAS 1(1), 121–141 (1979)CrossRefMATHGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Liu, Y., Milanova, A.: Ownership and immutability inference for UML-based object access control. In: ICSE, pp. 323–332 (2007)Google Scholar
  9. 9.
    Ma, K., Foster, J.: Inferring aliasing and encapsulation properties for Java. In: OOPSLA, pp. 423–440 (2007)Google Scholar
  10. 10.
    Milanova, A.: Static inference of Universe types. In: IWACO (2008)Google Scholar
  11. 11.
    Mitchell, N.: The runtime structure of object ownership. In: Hu, Q. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 74–98. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Naik, M., Park, C.-S., Sen, K., Gay, D.: Effective static deadlock detection. In: ICSE, pp. 386–396 (2009)Google Scholar
  13. 13.
    M. Papi, M. Ali, T. Correa Jr., J. Perkins, and M. Ernst. Practical pluggable types for Java. In: ISSTA, pp. 261–272 (2008)Google Scholar
  14. 14.
    Potanin, A., Noble, J., Biddle, R.: Checking ownership and confinement. Concurrency - Practice and Experience 16(7), 671–687 (2004)CrossRefGoogle Scholar
  15. 15.
    Rountev, A., Milanova, A., Ryder, B.: Points-to analysis for Java using annotated constraints. In: OOPSLA, pp. 43–55 (2001)Google Scholar
  16. 16.
    Rountev, A., Milanova, A., Ryder, B.G.: Fragment class analysis for testing of polymorphism in Java software. IEEE TSE 30(6), 372–386 (2004)Google Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    Vetchev, M., Yahav, E., Yorsh, G.: Phalanx: Parallel checking of expressive heap assertions. In: ISMM, pp. 41–50 (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ana Milanova
    • 1
  • Jan Vitek
    • 2
  1. 1.Rensselaer Polytechnic InstituteUSA
  2. 2.Purdue UniversityUSA

Personalised recommendations