SlideShare une entreprise Scribd logo
1  sur  16
Java: An Operational Semantics Gaurav  S. Kc B. Eng. Project Department of Computing
Semantics of Java -- why? ,[object Object],[object Object],[object Object],[object Object]
Why? … contd. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Project Goals ,[object Object],[object Object],[object Object]
Break-down into parts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
An example in the new syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Access Modifiers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Semantics extension ...
Final and Abstract modifier ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Semantics extension ...
Static modifier ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Semantics extension ...
Constructor ,[object Object],[object Object],[object Object],[object Object],[object Object]
Syntax of a Constructor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Constructor execution [boolean] C(true),   [AT] = [boolean] constrBody = []super(); if (b) ... cc = []SuperC(P,C)(); = []B(); [] B(); x=5; if (b) …,   new C(true); I  = (x=5;) Expr
Other research work on Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Other research, … contd. ,[object Object],[object Object],[object Object]
Conclusions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Acknowledgements ,[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)Kamal Acharya
 
Scikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in PythonScikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in PythonMicrosoft
 
TensorFlow example for AI Ukraine2016
TensorFlow example  for AI Ukraine2016TensorFlow example  for AI Ukraine2016
TensorFlow example for AI Ukraine2016Andrii Babii
 
Statistical Machine Learning for Text Classification with scikit-learn and NLTK
Statistical Machine Learning for Text Classification with scikit-learn and NLTKStatistical Machine Learning for Text Classification with scikit-learn and NLTK
Statistical Machine Learning for Text Classification with scikit-learn and NLTKOlivier Grisel
 
Attention mechanisms with tensorflow
Attention mechanisms with tensorflowAttention mechanisms with tensorflow
Attention mechanisms with tensorflowKeon Kim
 
Automatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELAutomatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELJoel Falcou
 
4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)
4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)
4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)PROIDEA
 
C++ tutorial boost – 2013
C++ tutorial   boost – 2013C++ tutorial   boost – 2013
C++ tutorial boost – 2013Ratsietsi Mokete
 
Dynamic Memory Allocation
Dynamic Memory AllocationDynamic Memory Allocation
Dynamic Memory Allocationvaani pathak
 
TensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow HubTensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow HubJeongkyu Shin
 
A Survey of Concurrency Constructs
A Survey of Concurrency ConstructsA Survey of Concurrency Constructs
A Survey of Concurrency ConstructsTed Leung
 
Jvm profiling under the hood
Jvm profiling under the hoodJvm profiling under the hood
Jvm profiling under the hoodRichardWarburton
 
Dynamic memory Allocation in c language
Dynamic memory Allocation in c languageDynamic memory Allocation in c language
Dynamic memory Allocation in c languagekiran Patel
 
Functional Programming You Already Know
Functional Programming You Already KnowFunctional Programming You Already Know
Functional Programming You Already KnowKevlin Henney
 
Software Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareSoftware Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareJoel Falcou
 
Cut and Goal on prolog
Cut and Goal on prologCut and Goal on prolog
Cut and Goal on prologchauhankapil
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk Ganesh Samarthyam
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel ArchitecturesJoel Falcou
 

Tendances (20)

Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)
 
Scikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in PythonScikit-Learn: Machine Learning in Python
Scikit-Learn: Machine Learning in Python
 
TensorFlow example for AI Ukraine2016
TensorFlow example  for AI Ukraine2016TensorFlow example  for AI Ukraine2016
TensorFlow example for AI Ukraine2016
 
Statistical Machine Learning for Text Classification with scikit-learn and NLTK
Statistical Machine Learning for Text Classification with scikit-learn and NLTKStatistical Machine Learning for Text Classification with scikit-learn and NLTK
Statistical Machine Learning for Text Classification with scikit-learn and NLTK
 
Attention mechanisms with tensorflow
Attention mechanisms with tensorflowAttention mechanisms with tensorflow
Attention mechanisms with tensorflow
 
Automatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELAutomatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSEL
 
4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)
4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)
4Developers 2018: Ile (nie) wiesz o strukturach w .NET (Łukasz Pyrzyk)
 
C++ tutorial boost – 2013
C++ tutorial   boost – 2013C++ tutorial   boost – 2013
C++ tutorial boost – 2013
 
Dynamic Memory Allocation
Dynamic Memory AllocationDynamic Memory Allocation
Dynamic Memory Allocation
 
TensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow HubTensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow Hub
 
A Survey of Concurrency Constructs
A Survey of Concurrency ConstructsA Survey of Concurrency Constructs
A Survey of Concurrency Constructs
 
Jvm profiling under the hood
Jvm profiling under the hoodJvm profiling under the hood
Jvm profiling under the hood
 
Dynamic memory Allocation in c language
Dynamic memory Allocation in c languageDynamic memory Allocation in c language
Dynamic memory Allocation in c language
 
Functional Programming You Already Know
Functional Programming You Already KnowFunctional Programming You Already Know
Functional Programming You Already Know
 
Machine Learning in R
Machine Learning in RMachine Learning in R
Machine Learning in R
 
Software Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareSoftware Abstractions for Parallel Hardware
Software Abstractions for Parallel Hardware
 
Cut and Goal on prolog
Cut and Goal on prologCut and Goal on prolog
Cut and Goal on prolog
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures
 
DSL简介
DSL简介DSL简介
DSL简介
 

En vedette

Загородня_Клініко-статистичний аналіз ПП
Загородня_Клініко-статистичний аналіз ППЗагородня_Клініко-статистичний аналіз ПП
Загородня_Клініко-статистичний аналіз ППMedprosvita
 
2 новинская 2011_анализ внедрения ат_20120314
2 новинская 2011_анализ внедрения ат_201203142 новинская 2011_анализ внедрения ат_20120314
2 новинская 2011_анализ внедрения ат_20120314Corpsa
 
Digital Branding: Ретроспектива и Перспективы от Спонсоров Будущего
Digital Branding: Ретроспектива и Перспективы от Спонсоров БудущегоDigital Branding: Ретроспектива и Перспективы от Спонсоров Будущего
Digital Branding: Ретроспектива и Перспективы от Спонсоров БудущегоWorld Brand Academy
 
NewMow Lawn Mowing In NYC
NewMow Lawn Mowing In NYCNewMow Lawn Mowing In NYC
NewMow Lawn Mowing In NYCParkerekraP
 
5 а класс
5 а класс5 а класс
5 а классComp_klass
 
образовательные программы дпо
образовательные программы дпообразовательные программы дпо
образовательные программы дпоAnastasia Zybina
 
Milk safety workshop
Milk safety workshopMilk safety workshop
Milk safety workshopnoonii
 
интерактивная викторина
интерактивная викторинаинтерактивная викторина
интерактивная викторинаnn-nn-nn
 
Бизнес-информатика
Бизнес-информатикаБизнес-информатика
Бизнес-информатикаiefmiit
 
танец общение-личность
танец общение-личностьтанец общение-личность
танец общение-личностьhrclubug
 
умняшова, вихристюк фпор 10.04.14
умняшова, вихристюк фпор 10.04.14умняшова, вихристюк фпор 10.04.14
умняшова, вихристюк фпор 10.04.14sodrugestvo
 
профилактика дислексии
профилактика дислексиипрофилактика дислексии
профилактика дислексииNatalija Perfilova
 
LinkedIn - Tips, Triks og tanker om fremtiden
LinkedIn - Tips, Triks og tanker om fremtidenLinkedIn - Tips, Triks og tanker om fremtiden
LinkedIn - Tips, Triks og tanker om fremtidenErik Eskedal
 

En vedette (20)

Presentation ss 2013 (1)
Presentation ss  2013 (1)Presentation ss  2013 (1)
Presentation ss 2013 (1)
 
Загородня_Клініко-статистичний аналіз ПП
Загородня_Клініко-статистичний аналіз ППЗагородня_Клініко-статистичний аналіз ПП
Загородня_Клініко-статистичний аналіз ПП
 
аутсорсинг
аутсорсингаутсорсинг
аутсорсинг
 
2 новинская 2011_анализ внедрения ат_20120314
2 новинская 2011_анализ внедрения ат_201203142 новинская 2011_анализ внедрения ат_20120314
2 новинская 2011_анализ внедрения ат_20120314
 
Паспорт подпрограммы "Реструктуризация и стимулирование развития промышленнос...
Паспорт подпрограммы "Реструктуризация и стимулирование развития промышленнос...Паспорт подпрограммы "Реструктуризация и стимулирование развития промышленнос...
Паспорт подпрограммы "Реструктуризация и стимулирование развития промышленнос...
 
Digital Branding: Ретроспектива и Перспективы от Спонсоров Будущего
Digital Branding: Ретроспектива и Перспективы от Спонсоров БудущегоDigital Branding: Ретроспектива и Перспективы от Спонсоров Будущего
Digital Branding: Ретроспектива и Перспективы от Спонсоров Будущего
 
Re conn
Re connRe conn
Re conn
 
Листая страницы истории
Листая страницы историиЛистая страницы истории
Листая страницы истории
 
NewMow Lawn Mowing In NYC
NewMow Lawn Mowing In NYCNewMow Lawn Mowing In NYC
NewMow Lawn Mowing In NYC
 
Equipo de trabajo
Equipo de trabajoEquipo de trabajo
Equipo de trabajo
 
5 а класс
5 а класс5 а класс
5 а класс
 
образовательные программы дпо
образовательные программы дпообразовательные программы дпо
образовательные программы дпо
 
Milk safety workshop
Milk safety workshopMilk safety workshop
Milk safety workshop
 
интерактивная викторина
интерактивная викторинаинтерактивная викторина
интерактивная викторина
 
Бизнес-информатика
Бизнес-информатикаБизнес-информатика
Бизнес-информатика
 
танец общение-личность
танец общение-личностьтанец общение-личность
танец общение-личность
 
Presentation
PresentationPresentation
Presentation
 
умняшова, вихристюк фпор 10.04.14
умняшова, вихристюк фпор 10.04.14умняшова, вихристюк фпор 10.04.14
умняшова, вихристюк фпор 10.04.14
 
профилактика дислексии
профилактика дислексиипрофилактика дислексии
профилактика дислексии
 
LinkedIn - Tips, Triks og tanker om fremtiden
LinkedIn - Tips, Triks og tanker om fremtidenLinkedIn - Tips, Triks og tanker om fremtiden
LinkedIn - Tips, Triks og tanker om fremtiden
 

Similaire à Java Semantics

Java Performance Tuning
Java Performance TuningJava Performance Tuning
Java Performance TuningMinh Hoang
 
Advance java kvr -satya
Advance java  kvr -satyaAdvance java  kvr -satya
Advance java kvr -satyaSatya Johnny
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Languageleague
 
Advanced java jee material by KV Rao sir
Advanced java jee material by KV Rao sirAdvanced java jee material by KV Rao sir
Advanced java jee material by KV Rao sirAVINASH KUMAR
 
11slide
11slide11slide
11slideIIUM
 
A Sceptical Guide to Functional Programming
A Sceptical Guide to Functional ProgrammingA Sceptical Guide to Functional Programming
A Sceptical Guide to Functional ProgrammingGarth Gilmour
 
Machine-level Composition of Modularized Crosscutting Concerns
Machine-level Composition of Modularized Crosscutting ConcernsMachine-level Composition of Modularized Crosscutting Concerns
Machine-level Composition of Modularized Crosscutting Concernssaintiss
 
Top 20 java programming interview questions for sdet
Top 20 java programming interview questions for sdetTop 20 java programming interview questions for sdet
Top 20 java programming interview questions for sdetDevLabs Alliance
 
Topic2JavaBasics.ppt
Topic2JavaBasics.pptTopic2JavaBasics.ppt
Topic2JavaBasics.pptMENACE4
 
hallleuah_java.ppt
hallleuah_java.ppthallleuah_java.ppt
hallleuah_java.pptRahul201258
 
Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010Andres Almiray
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011YoungSu Son
 

Similaire à Java Semantics (20)

Oop java
Oop javaOop java
Oop java
 
11.Object Oriented Programming.pdf
11.Object Oriented Programming.pdf11.Object Oriented Programming.pdf
11.Object Oriented Programming.pdf
 
Java Performance Tuning
Java Performance TuningJava Performance Tuning
Java Performance Tuning
 
Adv kvr -satya
Adv  kvr -satyaAdv  kvr -satya
Adv kvr -satya
 
Advance java kvr -satya
Advance java  kvr -satyaAdvance java  kvr -satya
Advance java kvr -satya
 
First fare 2010 java-introduction
First fare 2010 java-introductionFirst fare 2010 java-introduction
First fare 2010 java-introduction
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Language
 
Advanced java jee material by KV Rao sir
Advanced java jee material by KV Rao sirAdvanced java jee material by KV Rao sir
Advanced java jee material by KV Rao sir
 
Introduction to java programming part 2
Introduction to java programming  part 2Introduction to java programming  part 2
Introduction to java programming part 2
 
11slide
11slide11slide
11slide
 
A Sceptical Guide to Functional Programming
A Sceptical Guide to Functional ProgrammingA Sceptical Guide to Functional Programming
A Sceptical Guide to Functional Programming
 
Machine-level Composition of Modularized Crosscutting Concerns
Machine-level Composition of Modularized Crosscutting ConcernsMachine-level Composition of Modularized Crosscutting Concerns
Machine-level Composition of Modularized Crosscutting Concerns
 
11slide.ppt
11slide.ppt11slide.ppt
11slide.ppt
 
Top 20 java programming interview questions for sdet
Top 20 java programming interview questions for sdetTop 20 java programming interview questions for sdet
Top 20 java programming interview questions for sdet
 
Topic2JavaBasics.ppt
Topic2JavaBasics.pptTopic2JavaBasics.ppt
Topic2JavaBasics.ppt
 
hallleuah_java.ppt
hallleuah_java.ppthallleuah_java.ppt
hallleuah_java.ppt
 
2.ppt
2.ppt2.ppt
2.ppt
 
Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010Polyglot Programming @ Jax.de 2010
Polyglot Programming @ Jax.de 2010
 
Object-oriented Basics
Object-oriented BasicsObject-oriented Basics
Object-oriented Basics
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011
 

Dernier

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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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
 

Dernier (20)

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?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 

Java Semantics

  • 1. Java: An Operational Semantics Gaurav S. Kc B. Eng. Project Department of Computing
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. Constructor execution [boolean] C(true),  [AT] = [boolean] constrBody = []super(); if (b) ... cc = []SuperC(P,C)(); = []B(); [] B(); x=5; if (b) …,  new C(true); I = (x=5;) Expr
  • 13.
  • 14.
  • 15.
  • 16.

Notes de l'éditeur

  1. My research project was on the semantics of Java. Got email link … and these slides will also be available on the web along with report.
  2. Semantics definition Definition of Java given by Sun, where it was developed. Just how robust and secure is it? Not very, so there’s so much research in the field.
  3. Studying the semantics of any prog. lang. Helps to get a better grasp of how programs written in the language actually execute For any prog lang, public acceptance is heavily dependent on it being reliable, more importantly for mission-critical projects where unexpected behaviour could be very detrimental Java is a very versatile general programming language. There’s virtually nothing that cannot be done with Java yet can be done with some other imperative programming language. However, to some extent, this functionality might come at a cost of the security of the systems involved and a trade-off involving a lot less functionality is often necessary. Even so, Java has already come into widespread use, and its here to stay. Research in Java is so often done with the intention of determining feasible compromises with maximum functionality while maintaining adequate security.
  4. Sophia and Susan developed a semantics for a substantial subset of Java. Java is still growing, and we felt the need to expand this subset as well to keep up with Java. Since my project was mainly theoretical, I have no software product to demonstrate. I hope those of you that didn’t know this will not be disappointed!
  5. What we had before: Java is class-based, class has members which can be inherited by child-classes. Access mod: use to control the degree of accessibility of classes/interfaces, their members and constructors from other objects Other modifiers: final, abstract: class; final static: field; abstract final: method Constructors: the most interesting part of the project
  6. Red: depicts Java features that can now be studied using the semantics
  7. Public: accessible everywhere where the class is accessible Protected: accessible in subclasses Private: inaccessible from any other class default: package access … not dealt with packages due to time constraints CHECKING: required to see fields, methods, constructors are accessible
  8. Final class: implementation is complete, and shouldn’t be subclassed Abstract class: insufficient information for instantiation, so defer partial implementation to be completed in subclasses Final field: cannot change value .. compares with constants in other languages definitions are well formed if a class does not try to subclass a final classs or an constructor is not invoked to create an abstract class check if assignment is attempted on a field declared final
  9. Static fields: no more only instance fields Classes and interfaces have fields … shared between all instances In the SCDSE semantics, the runtime system could only store arrays and objects, now this system has been extended for Classes and interfaces, and these too can be referenced like normal objects … too technical
  10. Has to determine all declared and inherited instance fields if out of memory, must exit and report error initialise static fields
  11. Explicit can be: this or super if this, has statements if super, has initialisation before statements
  12. We have “new C(true)”; compiled to [bool]C(true) looking at rewrite rule for constructor invocation, arg type AT is [boolean] use AT to determine most specific constructor in class in the mostspec constructor, explicit turned to be super replace that by SuperC(P,C)() which is B() determine initialisers that must be taken into consideration for class C only one … x = 5; so InitExpr is simple so eventually, the whole term is rewritten to a sequence of statements
  13. Java entices a lot of programmers and researchers Even within IC, we have people in Distributed Software Engineering … and there are others in universities and research institutions like: people trying best way of extending Java: generics types to Java (Programming Language Techniques) people trying to find and eradicate loopholes in the Java security system Secure Internet Programming have discovered many important flaws in the Java and Netscape Navigator Java Virtual Machine systems.
  14. I’m happy to have managed to work reasonably well in this project and get some results. There are a lot more qualified people working on similar things.
  15. * 2-3 weeks spent on access modifiers for instance fields * anticipated same amount of time for methods and constructors, turned out that my rules for the fields were equally well-suited for methods and constructors * formalising the constructor rules is the most interesting part of the project for me … because this is a completely new entry in the semantics. * Skills learned: used LaTeX for report writeup … will be useful in later research work coz it’s the choice of the academics must have improved my creativity after designing semantic rules for a wide variety of test cases * is a new thing-- no one has succeeded in completely formalising Java semantics … is at the forefront of technology! Is something novel. * I hope someone in Doc will take what I’ve done and continue from there because this is a very interesting field. Most people don’t realise that studying semantics helps improve the understanding of programming language systems and is as equally important as understanding how hardware actually executes machine code. * Most important part of the project must be fact that I know a lot more about Java systems than before I started the project.
  16. KB - second marker -- UROP supervisor 98 … SCD - supervisor + lots of help with semantics and other things tanya - whose work was invaluable in writing my report