@article{quteprints31633, journal = {Lecture Notes in Computer Science}, publisher = {Springer-Verlag Berlin Heidelberg}, author = {Andrew J. Craik and Wayne A. Kelly}, note = {Publisher version saved to I drive}, month = {March}, title = {Using Ownership to Reason About Inherent Parallelism in Object-Oriented Programs}, volume = {6011}, pages = {145--164}, editor = {Rajiv Gupta}, year = {2010}, doi = {10.1007/978-3-642-11970-5\_9}, abstract = {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.}, keywords = {Parallelization, Inherent Parallelism, Ownership Types, Sufficient Conditions}, url = {https://eprints.qut.edu.au/31633/} }