SlideShare una empresa de Scribd logo
1 de 47
Region Inference  for an Object-Oriented Language Wei Ngan Chin 1,2 Joint work with Florin Craciun 1 , Shengchao Qin 1,2 , Martin Rinard 3 1  National University of Singapore 2  Singapore-MIT Alliance  3  MIT
Background ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Current Status ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Our Goal : automatic region inference for    object-oriented programs
Two Major Assumptions ,[object Object],[object Object],[object Object],[object Object],top (younger) bottom (older) r1 r2 r3 r4 ,[object Object],[object Object]
Main Contributions ,[object Object],[object Object],[object Object],[object Object],[object Object]
Region-Annotated Core-Java region parameters  for polymorphism constraint abstractions class invariant method precondition region constraint s
Inferring for Class  Step 4 : Inherit constraint of superclass. Step 1 : Reserve first region for the receiver object ( this ). Step 2 : Keep regions of fields distinct for precision. Step 3 : No dangling  property as class invariant.
Inferring for Class Step 1 : Reserve first region for the receiver object ( this ). Step 2 : Keep regions of fields distinct for precision. Step 3 : No dangling requirement as class invariant.
Inferring for Methods  Step 3 : Localise regions that do not escape. Step 4 : Fix-point analysis for recursion. method precondition Step 2 : Gather constraints from method body. Step 1 : Region parameters from method signature.
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
(Object) Region Subtyping concept pioneered in Cyclone [PLDI02]  an object  w  of type c <r,..>   can be passed to a location  v  of type c <s,..>  provided  r  º  s  (e.g. in assignment and parameter/result passing)
Example Without region subtyping, regions of  a  and  b   are forced to be  equal . With region subtyping, these regions may be  distinct .
Problem – Recursive Fields Recursive nodes being forced into the same region Some programs work better with recursive  nodes in different regions …
(Field) Region Subtyping SOLUTION  : Covariance for Read-Only Fields. Example: read-only mutable
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object]
Region Inference ,[object Object],[object Object]
Inference Rule : Sequence Inference is  flow-insensitive  but can be improved by SSA form
Inference Rule : Expression Block rs  : the set of regions that  do not escape  the block Regions of   rs   coalesced into a single localised region  r
Example – Localised Region
Example – Localised Region  localised  region  r
Example : Recursive Function
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object]
Method Overriding ,[object Object],[object Object],[object Object],[object Object],[object Object],Method Override Rule:  C B   Æ   M A   )   M B
Override Conflict Resolution ,[object Object],Solution :  strengthen   C B  ,  M A   to  C’ B   ,   M’ A   Until: C’ B   Æ   M’ A   )   M B
Downcast Safety ,[object Object],[object Object],[object Object],[object Object],[object Object]
Experiments ,[object Object],[object Object]
Experiments ,[object Object],[object Object],[object Object],[object Object]
Concluding Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Future Work ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Correctness
Core-Java
Key Principles : Classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
No Region Subtyping [Boyapati et al PLDI03] supports class subtyping but  not region subtyping
No Region Subtyping [Boyapati et al PLDI03] supports class subtyping but  not region subtyping
Key Principles : Methods ,[object Object],[object Object],[object Object],[object Object]
Example  - Reynolds3 With field region subtyping, the  List(x,p)  object can be allocated in a  local region  of the recursive call.
Method Overriding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],argument result selection
Downcast Safety ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Region Subtyping concept from [Cyclone PLDI02]  allows v=w where location v::c <s,..>  can be passed an object w of type c <r,..>  provided  r    s
Experiments ,[object Object],[object Object],[object Object]
Experiments
Inference of Methods  class invariant method precondition
Inferring for Class  class invariant  to prevent  dangling references
List Example ,[object Object],[object Object],[object Object]
Inference of Methods  ,[object Object],[object Object],[object Object]
Example – Cyclic Structure  p1 p2
Inference of Methods  method precondition

Más contenido relacionado

La actualidad más candente

NFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition DiagramNFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition DiagramAbdullah Jan
 
Cs ps, sat, fol resolution strategies
Cs ps, sat, fol resolution strategiesCs ps, sat, fol resolution strategies
Cs ps, sat, fol resolution strategiesYasir Khan
 
Botnet detection using cluster ensemble with cart
Botnet detection using cluster ensemble with cartBotnet detection using cluster ensemble with cart
Botnet detection using cluster ensemble with cartTrinh Phuc
 
Design of FFT Processor
Design of FFT ProcessorDesign of FFT Processor
Design of FFT ProcessorRohit Singh
 
Exercises on Advances in Verification Methodologies
Exercises on Advances in Verification Methodologies Exercises on Advances in Verification Methodologies
Exercises on Advances in Verification Methodologies Ramdas Mozhikunnath
 
Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...
Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...
Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...Shin Kanouchi
 
Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)Igalia
 
Lecture 12 Heuristic Searches
Lecture 12 Heuristic SearchesLecture 12 Heuristic Searches
Lecture 12 Heuristic SearchesHema Kashyap
 
A Lightweight Instruction Scheduling Algorithm For Just In Time Compiler
A Lightweight Instruction Scheduling Algorithm For Just In Time CompilerA Lightweight Instruction Scheduling Algorithm For Just In Time Compiler
A Lightweight Instruction Scheduling Algorithm For Just In Time Compilerkeanumit
 
Speech recognition: Survey
Speech recognition: SurveySpeech recognition: Survey
Speech recognition: SurveyWonjun Jeong
 
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)Igalia
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsRushabh2428
 
Speaker Dependent WaveNet Vocoder
Speaker Dependent WaveNet VocoderSpeaker Dependent WaveNet Vocoder
Speaker Dependent WaveNet VocoderAkira Tamamori
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound techniqueishmecse13
 

La actualidad más candente (20)

Solid principles - Object oriendte
Solid principles - Object oriendteSolid principles - Object oriendte
Solid principles - Object oriendte
 
NFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition DiagramNFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition Diagram
 
Cs ps, sat, fol resolution strategies
Cs ps, sat, fol resolution strategiesCs ps, sat, fol resolution strategies
Cs ps, sat, fol resolution strategies
 
Sns pre sem
Sns pre semSns pre sem
Sns pre sem
 
Botnet detection using cluster ensemble with cart
Botnet detection using cluster ensemble with cartBotnet detection using cluster ensemble with cart
Botnet detection using cluster ensemble with cart
 
Design of FFT Processor
Design of FFT ProcessorDesign of FFT Processor
Design of FFT Processor
 
Exercises on Advances in Verification Methodologies
Exercises on Advances in Verification Methodologies Exercises on Advances in Verification Methodologies
Exercises on Advances in Verification Methodologies
 
Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...
Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...
Multi-Target Machine Translation with Multi-Synchronous Context-free Grammars...
 
Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)
 
Lecture 12 Heuristic Searches
Lecture 12 Heuristic SearchesLecture 12 Heuristic Searches
Lecture 12 Heuristic Searches
 
A Lightweight Instruction Scheduling Algorithm For Just In Time Compiler
A Lightweight Instruction Scheduling Algorithm For Just In Time CompilerA Lightweight Instruction Scheduling Algorithm For Just In Time Compiler
A Lightweight Instruction Scheduling Algorithm For Just In Time Compiler
 
Speech recognition: Survey
Speech recognition: SurveySpeech recognition: Survey
Speech recognition: Survey
 
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
 
Spaa
SpaaSpaa
Spaa
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and Problems
 
IJETAE_1013_119
IJETAE_1013_119IJETAE_1013_119
IJETAE_1013_119
 
Cia iii 17 18 qp
Cia iii 17 18 qpCia iii 17 18 qp
Cia iii 17 18 qp
 
Theory of Computation Unit 4
Theory of Computation Unit 4Theory of Computation Unit 4
Theory of Computation Unit 4
 
Speaker Dependent WaveNet Vocoder
Speaker Dependent WaveNet VocoderSpeaker Dependent WaveNet Vocoder
Speaker Dependent WaveNet Vocoder
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
 

Destacado

The meaning of meaningful use 2010 05-14 missouri rural hospital hit conference
The meaning of meaningful use 2010 05-14 missouri rural hospital hit conferenceThe meaning of meaningful use 2010 05-14 missouri rural hospital hit conference
The meaning of meaningful use 2010 05-14 missouri rural hospital hit conferencelearfield
 
Chapter 1 Notes: Early Humans
Chapter 1 Notes: Early HumansChapter 1 Notes: Early Humans
Chapter 1 Notes: Early Humansquesoqueen
 
Chapter 3 Section 4 Notes "Phoenicians"
Chapter 3 Section 4 Notes "Phoenicians"Chapter 3 Section 4 Notes "Phoenicians"
Chapter 3 Section 4 Notes "Phoenicians"quesoqueen
 
5 star time mgt and goal setting workshop
5 star time mgt and goal setting workshop5 star time mgt and goal setting workshop
5 star time mgt and goal setting workshopPro356 Consulting
 
Text analysis characterisation
Text analysis characterisationText analysis characterisation
Text analysis characterisationGuerillateacher
 

Destacado (8)

The meaning of meaningful use 2010 05-14 missouri rural hospital hit conference
The meaning of meaningful use 2010 05-14 missouri rural hospital hit conferenceThe meaning of meaningful use 2010 05-14 missouri rural hospital hit conference
The meaning of meaningful use 2010 05-14 missouri rural hospital hit conference
 
Chapter 1 Notes: Early Humans
Chapter 1 Notes: Early HumansChapter 1 Notes: Early Humans
Chapter 1 Notes: Early Humans
 
Chapter 3 Section 4 Notes "Phoenicians"
Chapter 3 Section 4 Notes "Phoenicians"Chapter 3 Section 4 Notes "Phoenicians"
Chapter 3 Section 4 Notes "Phoenicians"
 
Setting
SettingSetting
Setting
 
Winter words
Winter wordsWinter words
Winter words
 
How to Packet
How to PacketHow to Packet
How to Packet
 
5 star time mgt and goal setting workshop
5 star time mgt and goal setting workshop5 star time mgt and goal setting workshop
5 star time mgt and goal setting workshop
 
Text analysis characterisation
Text analysis characterisationText analysis characterisation
Text analysis characterisation
 

Similar a Reginf pldi3

Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsNaughty Dog
 
Practical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsxPractical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsxMannyK4
 
Instance Based Learning in Machine Learning
Instance Based Learning in Machine LearningInstance Based Learning in Machine Learning
Instance Based Learning in Machine LearningPavithra Thippanaik
 
Trackster Pruning at the CMS High-Granularity Calorimeter
Trackster Pruning at the CMS High-Granularity CalorimeterTrackster Pruning at the CMS High-Granularity Calorimeter
Trackster Pruning at the CMS High-Granularity CalorimeterYousef Fadila
 
OpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsOpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsMonica Beckwith
 
NIPS2007: structured prediction
NIPS2007: structured predictionNIPS2007: structured prediction
NIPS2007: structured predictionzukun
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence butest
 
LTE Physical Layer Transmission Mode Selection Over MIMO Scattering Channels
LTE Physical Layer Transmission Mode Selection Over MIMO Scattering ChannelsLTE Physical Layer Transmission Mode Selection Over MIMO Scattering Channels
LTE Physical Layer Transmission Mode Selection Over MIMO Scattering ChannelsIllaKolani1
 
Machine Learning Project
Machine Learning ProjectMachine Learning Project
Machine Learning ProjectAdeyemi Fowe
 
Introduction to data structures and complexity.pptx
Introduction to data structures and complexity.pptxIntroduction to data structures and complexity.pptx
Introduction to data structures and complexity.pptxPJS KUMAR
 
Auro tripathy - Localizing with CNNs
Auro tripathy -  Localizing with CNNsAuro tripathy -  Localizing with CNNs
Auro tripathy - Localizing with CNNsAuro Tripathy
 
Comparison of Single Channel Blind Dereverberation Methods for Speech Signals
Comparison of Single Channel Blind Dereverberation Methods for Speech SignalsComparison of Single Channel Blind Dereverberation Methods for Speech Signals
Comparison of Single Channel Blind Dereverberation Methods for Speech SignalsDeha Deniz Türköz
 
Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier홍배 김
 
Robust Low-rank and Sparse Decomposition for Moving Object Detection
Robust Low-rank and Sparse Decomposition for Moving Object DetectionRobust Low-rank and Sparse Decomposition for Moving Object Detection
Robust Low-rank and Sparse Decomposition for Moving Object DetectionActiveEon
 
Module-5-1_230523_171754 (1).pdf
Module-5-1_230523_171754 (1).pdfModule-5-1_230523_171754 (1).pdf
Module-5-1_230523_171754 (1).pdfvikasmittal92
 
Introduction to deep learning
Introduction to deep learningIntroduction to deep learning
Introduction to deep learningJunaid Bhat
 
Efficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketchingEfficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketchingHsing-chuan Hsieh
 

Similar a Reginf pldi3 (20)

Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT Methods
 
Practical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsxPractical spherical harmonics based PRT methods.ppsx
Practical spherical harmonics based PRT methods.ppsx
 
Instance Based Learning in Machine Learning
Instance Based Learning in Machine LearningInstance Based Learning in Machine Learning
Instance Based Learning in Machine Learning
 
Trackster Pruning at the CMS High-Granularity Calorimeter
Trackster Pruning at the CMS High-Granularity CalorimeterTrackster Pruning at the CMS High-Granularity Calorimeter
Trackster Pruning at the CMS High-Granularity Calorimeter
 
OpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsOpenJDK Concurrent Collectors
OpenJDK Concurrent Collectors
 
NIPS2007: structured prediction
NIPS2007: structured predictionNIPS2007: structured prediction
NIPS2007: structured prediction
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence
 
LTE Physical Layer Transmission Mode Selection Over MIMO Scattering Channels
LTE Physical Layer Transmission Mode Selection Over MIMO Scattering ChannelsLTE Physical Layer Transmission Mode Selection Over MIMO Scattering Channels
LTE Physical Layer Transmission Mode Selection Over MIMO Scattering Channels
 
Machine Learning Project
Machine Learning ProjectMachine Learning Project
Machine Learning Project
 
Introduction to data structures and complexity.pptx
Introduction to data structures and complexity.pptxIntroduction to data structures and complexity.pptx
Introduction to data structures and complexity.pptx
 
Zoooooohaib
ZoooooohaibZoooooohaib
Zoooooohaib
 
Auro tripathy - Localizing with CNNs
Auro tripathy -  Localizing with CNNsAuro tripathy -  Localizing with CNNs
Auro tripathy - Localizing with CNNs
 
Comparison of Single Channel Blind Dereverberation Methods for Speech Signals
Comparison of Single Channel Blind Dereverberation Methods for Speech SignalsComparison of Single Channel Blind Dereverberation Methods for Speech Signals
Comparison of Single Channel Blind Dereverberation Methods for Speech Signals
 
Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier
 
Robust Low-rank and Sparse Decomposition for Moving Object Detection
Robust Low-rank and Sparse Decomposition for Moving Object DetectionRobust Low-rank and Sparse Decomposition for Moving Object Detection
Robust Low-rank and Sparse Decomposition for Moving Object Detection
 
Module-5-1_230523_171754 (1).pdf
Module-5-1_230523_171754 (1).pdfModule-5-1_230523_171754 (1).pdf
Module-5-1_230523_171754 (1).pdf
 
Group Project
Group ProjectGroup Project
Group Project
 
Introduction to deep learning
Introduction to deep learningIntroduction to deep learning
Introduction to deep learning
 
deep CNN vs conventional ML
deep CNN vs conventional MLdeep CNN vs conventional ML
deep CNN vs conventional ML
 
Efficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketchingEfficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketching
 

Último

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Reginf pldi3

  • 1. Region Inference for an Object-Oriented Language Wei Ngan Chin 1,2 Joint work with Florin Craciun 1 , Shengchao Qin 1,2 , Martin Rinard 3 1 National University of Singapore 2 Singapore-MIT Alliance 3 MIT
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Region-Annotated Core-Java region parameters for polymorphism constraint abstractions class invariant method precondition region constraint s
  • 7. Inferring for Class Step 4 : Inherit constraint of superclass. Step 1 : Reserve first region for the receiver object ( this ). Step 2 : Keep regions of fields distinct for precision. Step 3 : No dangling property as class invariant.
  • 8. Inferring for Class Step 1 : Reserve first region for the receiver object ( this ). Step 2 : Keep regions of fields distinct for precision. Step 3 : No dangling requirement as class invariant.
  • 9. Inferring for Methods Step 3 : Localise regions that do not escape. Step 4 : Fix-point analysis for recursion. method precondition Step 2 : Gather constraints from method body. Step 1 : Region parameters from method signature.
  • 10.
  • 11. (Object) Region Subtyping concept pioneered in Cyclone [PLDI02] an object w of type c <r,..> can be passed to a location v of type c <s,..> provided r º s (e.g. in assignment and parameter/result passing)
  • 12. Example Without region subtyping, regions of a and b are forced to be equal . With region subtyping, these regions may be distinct .
  • 13. Problem – Recursive Fields Recursive nodes being forced into the same region Some programs work better with recursive nodes in different regions …
  • 14. (Field) Region Subtyping SOLUTION : Covariance for Read-Only Fields. Example: read-only mutable
  • 15.
  • 16.
  • 17. Inference Rule : Sequence Inference is flow-insensitive but can be improved by SSA form
  • 18. Inference Rule : Expression Block rs : the set of regions that do not escape the block Regions of rs coalesced into a single localised region r
  • 20. Example – Localised Region localised region r
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 32.
  • 33. No Region Subtyping [Boyapati et al PLDI03] supports class subtyping but not region subtyping
  • 34. No Region Subtyping [Boyapati et al PLDI03] supports class subtyping but not region subtyping
  • 35.
  • 36. Example - Reynolds3 With field region subtyping, the List(x,p) object can be allocated in a local region of the recursive call.
  • 37.
  • 38.
  • 39. Region Subtyping concept from [Cyclone PLDI02] allows v=w where location v::c <s,..> can be passed an object w of type c <r,..> provided r  s
  • 40.
  • 42. Inference of Methods class invariant method precondition
  • 43. Inferring for Class class invariant to prevent dangling references
  • 44.
  • 45.
  • 46. Example – Cyclic Structure p1 p2
  • 47. Inference of Methods method precondition