GPCE 2018
Mon 5 - Tue 6 November 2018 Boston, Massachusetts, United States
co-located with SPLASH 2018
Mon 5 Nov 2018 14:00 - 14:30 at Studio 2 - II Chair(s): Aggelos Biboudis

Ownership type qualifiers clarify aliasing invariants that cannot be directly expressed in mainstream programming languages. Moreover, they enable extracting abstract object graphs that clarify the object relationships produced at runtime. Adding qualifiers to legacy code after the fact, however, involves significant overhead and difficult interaction.

We propose an inference analysis to generate qualifiers in the code based on developer refinements that express strict encapsulation, logical containment and architectural tiers. The language of refinements consists of: makeOwnedBy, to make an object strictly encapsulated by another; makePartOf, to make an object logically contained in another; makePeer, to make two objects peers; or makeShared, to allow an object to be globally aliased.

Based on the developers’ refinements, the analysis attempts to generate qualifiers that type-check; if it fails to do so, it indicates to developers that their refinements do not match the code as-written, so they must investigate unexpected aliasing, and optionally change the code and re-run the analysis.

We implement the analysis in a tool, OOGRE, and evaluate it on real code, to confirm that it generates qualifiers that are more precise than the default ones. Finally, we confirm that the generated qualifiers enable another analysis to extract hierarchical object graphs that reflect strict encapsulation, logical containment and architectural tiers.

Mon 5 Nov
Times are displayed in time zone: (GMT-05:00) Guadalajara, Mexico City, Monterrey change

13:30 - 15:00: GPCE 2018 - II at Studio 2
Chair(s): Aggelos BiboudisEPFL, Switzerland
gpce-201813:30 - 14:00
Larissa SoaresUniversidade Federal da Bahia, Jens MeinickeMagdeburg University, Sarah NadiUniversity of Alberta, Christian KästnerCarnegie Mellon University, Eduardo AlmeidaUniversidade Federal da Bahia
gpce-201814:00 - 14:30
Ebrahim KhalajWayne State University, Marwan Abi-AntounWayne State University
gpce-201814:30 - 15:00
Nic VolanschiInria Bordeaux, Bernard SerpetteInria, Charles ConselUniversity of Bordeaux