%0 Journal Article %@ 0302-9743 %A Craik, Andrew J. %A Kelly, Wayne A. %D 2010 %E Gupta, Rajiv %F quteprints:31633 %I Springer-Verlag Berlin Heidelberg %J Lecture Notes in Computer Science %K Parallelization %K Inherent Parallelism %K Ownership Types %K Sufficient Conditions %P 145-164 %R 10.1007/978-3-642-11970-5_9 %T Using Ownership to Reason About Inherent Parallelism in Object-Oriented Programs %U https://eprints.qut.edu.au/31633/ %V 6011 %X With the emergence of multi-cores into the mainstream, there is a growing need for systems to allow programmers and automated systems to reason about data dependencies and inherent parallelismin imperative object-oriented languages. In this paper we exploit the structure of object-oriented programs to abstract computational side-effects. We capture and validate these effects using a static type system. We use these as the basis of sufficient conditions for several different data and task parallelism patterns. We compliment our static type system with a lightweight runtime system to allow for parallelization in the presence of complex data flows. We have a functioning compiler and worked examples to demonstrate the practicality of our solution. %Z Publisher version saved to I drive