Isolation types and multi-core architectures
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
Hi-index | 0.00 |
Historically, concerns about aliasing and confinement in object-oriented languages arose from the Software Engineering or Program Verification viewpoint: spaghetti-data resulted in programs too delicate to modify or "… we could prove Q if only we knew that x is not aliased". By and large, these issues arose in the context of sequential systems. Nowadays, exploiting multi-core architectures generally requires concurrent programming. The issues above become magnified: in software engineering terms updates to aliased objects can now lead to unpredictable data races rather than resulting in hard-to-modify but deterministic code. Program reasoning also became harder as there are more ways to break encapsulation. For example 'x+=2;' and 'x+=1;x+=1;' are no longer equivalent.