SlideShare a Scribd company logo
1 of 41
Download to read offline
Automated Reverse-Engineering
of a Cloud API
Stéphanie Challita, PhD
Associate Professor @University of Rennes 1, ESIR & IRISA/Inria, DiverSE team
30/09/2020 Stéphanie Challita @ENS seminar
Brief bio
▪ Degree of Systems and Networks Engineering, 2010 - 2015
▪ Research Master’s degree in Computer Science, 2014 - 2015
▪ PhD in Computer Science, 2015 - 2018
▪ Spirals team (Lille, CRIStAL, Inria)
▪ Postdoctoral Researcher, 2019 - 2020
▪ Kairos team (Sophia Antipolis, I3S, Inria)
▪ Associate Professor, since September 2020
▪ DiverSE team (Rennes, IRISA, Inria)
30/09/2020 Stéphanie Challita @ENS seminar 2/41
Research project
Towards the automatic construction of reliable and co-evolving software systems
30/09/2020 Stéphanie Challita @ENS seminar 3/41
Infer
Verify
Models for Cloud, IoT…
Tests
Co-evolution
…
Scientific challenges
o Inference of Domain-Specific Modeling Languages (DSML) from APIs
• Precision & Genericity
• Learning
o Verification
• Generation of instances of inferred DSMLs
• Generation of oracles
o Co-evolution of APIs and languages
• Identify the impact of API changes on DSML
• Co-evolve the impacted components
Research team
30/09/2020 Stéphanie Challita @ENS seminar 4/41
▪ Modeling & Language
Engineering
▪ Advanced testing
▪ DevOps for distributed
and heterogeneous
systems
▪ Variability Engineeringhttps://www.diverse-team.fr/
Cloud computing
30/09/2020 Stéphanie Challita @ENS seminar
Created by Sam Johnston, downloaded from https://en.wikipedia.org/wiki/Cloud_computing
5/41
Multi-cloud computing
30/09/2020 Stéphanie Challita @ENS seminar 6/41
Multi-cloud computing
30/09/2020 Stéphanie Challita @ENS seminar 7/41
Approaches for multi-clouds - Actors
30/09/2020 Stéphanie Challita @ENS seminar
Cloud
provider
Cloud
developer
Cloud
architect
Use Use
Offer
8/41
Approaches for multi-clouds
30/09/2020 Stéphanie Challita @ENS seminar
AWS
API
OCCI
API
DigitalOcean
API
DigitalOcean
SDK
Multi-cloud
Libraries
GCP
SDK
AWS
SDK
Public Private
Cloud
provider
Public
GCP
API
Cloud
developerOCCI
SDK
…
…
Public
Cloud
Brokers
OCCI CIMI …
9/41
Approaches for multi-clouds
30/09/2020 Stéphanie Challita @ENS seminar
Cloud
Metamodel
Cloud
Model
conforms to
represented by
defines
Cloud
Meta-metamodel
conforms to
M0
M1
M2
M3
Cloud
architect
Model
Code
generation
Static
analysis
Documentation
Transformation
10/41
Approaches for multi-clouds
30/09/2020 Stéphanie Challita @ENS seminar
Cloud
architect
CloudML
AWS
API
OCCI
API
DigitalOcean
API
DigitalOcean
SDK
Multi-cloud
Libraries
GCP
SDK
AWS
SDK
Public Private
Cloud
provider
Public
GCP
API
Cloud
developerOCCI
SDK
…
…
Public
Cloud
Brokers
CAMEL TOSCAOpenTOSCASALOON StratusML
OCCI CIMI …
11/41
Approaches for multi-clouds
Issue:
Fuzziness of the concepts of the cloud modeling languages
30/09/2020 Stéphanie Challita @ENS seminar 12/41
Research question
RQ: Is it possible to automatically extract precise models from cloud APIs and to
synchronize them with the cloud evolution?
- How to provide an accurate description for a cloud API?
- How to correct the existing drawbacks in a cloud API documentation?
- How to analyze a cloud API documentation?
30/09/2020 Stéphanie Challita @ENS seminar
Research topics: API mining, reverse-engineering, NLP
13/41
30/09/2020 Stéphanie Challita @ENS seminar
Model-Driven Approach
for the Cloud
Infer
OCCIGCPAWS
Global vision
14/41
Cloud API Documentation
30/09/2020 Stéphanie Challita @ENS seminar
Cloud
developer/architect
Cloud
provider
An agreement with the developer on exactly how the system will operate
conformsto
Cloud
documentation
Cloud documentations are written in natural language
→ human errors and/or semantic confusions
15/41
Vision
▪Inferring models from cloud APIs
▪Work of API mining, reverse-engineering
▪ HTML Model
▪Model refinement (NLP techniques, graphical output…)
30/09/2020 Stéphanie Challita @ENS seminar
Text
Analysis
Engine
Generic
parser
Model
Generator
Model
Validator
Cloud API
Cloud
DSML
16/41
Google Cloud Platform (GCP) use case
30/09/2020 Stéphanie Challita @ENS seminar
Is partner withIs adopted by
17/41
List of GCP documentation drawbacks
▪Informal heterogeneous documentation
▪Imprecise types
▪Implicit attribute metadata
▪Hidden links
▪Redundancy
▪Lack of visual support
30/09/2020 Stéphanie Challita @ENS seminar 18/41
Imprecise types
30/09/2020 Stéphanie Challita @ENS seminar 19/41
Implicit attribute metadata
30/09/2020 Stéphanie Challita @ENS seminar
Available at
https://cloud.google.com/compute/docs/reference/latest/networks
Available at
https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets
20/41
GCP snapshot
30/09/2020 Stéphanie Challita @ENS seminar
▪ GCP engineers could
update/correct GCP
documentation
▪ Continuously following up with
GCP documentation is costly
▪ Snapshot of GCP API
A
Snapshot
GCP
HTML pages
GCP
documentation
21/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar
GCP
Crawler
A B
Snapshot
GCP
HTML pages
GCP
documentation
▪ GCP Crawler to extract all GCP resources, their
attributes and actions
▪ GCP Model for a better description of the GCP
resources
GCP
Model
C
22/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 23/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 24/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 25/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 26/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 27/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 28/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 29/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 30/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar 31/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar
GCP
Crawler
A B
Snapshot
GCP
HTML pages
GCP
documentation
▪ GCP Crawler to extract all GCP resources, their
attributes and actions
▪ GCP Model for a better description of the GCP
resources
GCP
Model
C
OCCIware
Metamodel
GCP
configuration
conforms to
represented by
Ecore
Metamodel
conforms to
M0
M1
M2
M3
GCP
model
GCP
doc
conforms to
32/41
GCP crawler & GCP model
30/09/2020 Stéphanie Challita @ENS seminar
GCP
Crawler
A B
Snapshot
GCP
HTML pages
GCP
documentation
GCP
Model
C
Implicit Attribute
Metadata Detection
Link Identification
Redundancy Removal
Model
Transformations
Type Refinement
Model Visualization
33/41
Implicit attribute metadata detection
▪ To explicitly store information into additional attributes defined in the ATTRIBUTE
concept of our GCP MODEL
▪ We use Natural Language Processing (NLP) techniques
▪ Word Tagging/Part-of- Speech (PoS)
▪ We declare pre-defined tags for some GCP specific attribute properties:
▪ mu tab le = tru e if [In p u t -O n ly ]
▪ mu tab le = false if [O u tp u t -on ly ]/ read on ly
▪ req u ired = tru e if [Req u ired ]
▪ req u ired = false if [O ption al]
▪ default = X if The default value is X
30/09/2020 Stéphanie Challita @ENS seminar 34/41
Implicit attribute metadata detection
30/09/2020 Stéphanie Challita @ENS seminar 35/41
Implicit attribute metadata detection
30/09/2020 Stéphanie Challita @ENS seminar 36/41
Implicit attribute metadata detection
30/09/2020 Stéphanie Challita @ENS seminar 37/41
Implicit attribute metadata detection
30/09/2020 Stéphanie Challita @ENS seminar 38/41
Perspectives
▪ More generic crawler to support any API
▪ Do not conform to OCCI anymore, other than HTML pages
▪ Implement GCP studio, a model-based framework that relies on this approach
to design and deploy GCP applications
▪ Automated approach that would automatically handle the evolution of GCP
▪ Incrementally detect streaming modifications, by calculating and modifying only the
differences between the initially processed version and the newly modified one
30/09/2020 Stéphanie Challita @ENS seminar 39/41
Research internship for M2 students
30/09/2020 Stéphanie Challita @ENS seminar
Research
needs you!
40/41
Thank you!
Stéphanie Challita, Faiez Zalila, Christophe Gourdin, Philippe Merle. “A Precise Model for Google Cloud Platform" .
IEEE International Conference on Cloud Engineering (IC2E). 2018.
https://github.com/occiware/GCP-Model
stephanie.challita@inria.fr
https://stephaniechallita.github.io/
30/09/2020 Stéphanie Challita @ENS seminar

More Related Content

What's hot

BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...
BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...
BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...Pieter Pauwels
 
Community Clouds from Scratch
Community Clouds from ScratchCommunity Clouds from Scratch
Community Clouds from ScratchNETWAYS
 
VILLASframework - A toolset for local and geographically distributed real-tim...
VILLASframework - A toolset for local and geographically distributed real-tim...VILLASframework - A toolset for local and geographically distributed real-tim...
VILLASframework - A toolset for local and geographically distributed real-tim...Steffen Vogel
 
TPAC2016 - From Linked Building Data to Building Data on the Web
TPAC2016 - From Linked Building Data to Building Data on the WebTPAC2016 - From Linked Building Data to Building Data on the Web
TPAC2016 - From Linked Building Data to Building Data on the WebPieter Pauwels
 
Some "challenges" on the open-source/open-data front
Some "challenges" on the open-source/open-data frontSome "challenges" on the open-source/open-data front
Some "challenges" on the open-source/open-data frontGreg Landrum
 
CIB W78 Accelerating BIM Workshop 2015 - IFC2RDF tools
CIB W78 Accelerating BIM Workshop 2015 - IFC2RDF toolsCIB W78 Accelerating BIM Workshop 2015 - IFC2RDF tools
CIB W78 Accelerating BIM Workshop 2015 - IFC2RDF toolsPieter Pauwels
 
Mapping the Web Ontology Language to OpenApi
Mapping the Web Ontology Language to OpenApiMapping the Web Ontology Language to OpenApi
Mapping the Web Ontology Language to OpenApiPaola Espinoza-Arias
 
AppHub OW2con'15 - Peter Deussen Presentation
AppHub OW2con'15 - Peter Deussen PresentationAppHub OW2con'15 - Peter Deussen Presentation
AppHub OW2con'15 - Peter Deussen PresentationAppHub
 
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...PROIDEA
 

What's hot (10)

BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...
BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...
BuildingSMART Standards Summit 2015 - JBeetz - Product Room - Use Cases for i...
 
Community Clouds from Scratch
Community Clouds from ScratchCommunity Clouds from Scratch
Community Clouds from Scratch
 
VILLASframework - A toolset for local and geographically distributed real-tim...
VILLASframework - A toolset for local and geographically distributed real-tim...VILLASframework - A toolset for local and geographically distributed real-tim...
VILLASframework - A toolset for local and geographically distributed real-tim...
 
TPAC2016 - From Linked Building Data to Building Data on the Web
TPAC2016 - From Linked Building Data to Building Data on the WebTPAC2016 - From Linked Building Data to Building Data on the Web
TPAC2016 - From Linked Building Data to Building Data on the Web
 
Some "challenges" on the open-source/open-data front
Some "challenges" on the open-source/open-data frontSome "challenges" on the open-source/open-data front
Some "challenges" on the open-source/open-data front
 
Shift Dev Conf API
Shift Dev Conf APIShift Dev Conf API
Shift Dev Conf API
 
CIB W78 Accelerating BIM Workshop 2015 - IFC2RDF tools
CIB W78 Accelerating BIM Workshop 2015 - IFC2RDF toolsCIB W78 Accelerating BIM Workshop 2015 - IFC2RDF tools
CIB W78 Accelerating BIM Workshop 2015 - IFC2RDF tools
 
Mapping the Web Ontology Language to OpenApi
Mapping the Web Ontology Language to OpenApiMapping the Web Ontology Language to OpenApi
Mapping the Web Ontology Language to OpenApi
 
AppHub OW2con'15 - Peter Deussen Presentation
AppHub OW2con'15 - Peter Deussen PresentationAppHub OW2con'15 - Peter Deussen Presentation
AppHub OW2con'15 - Peter Deussen Presentation
 
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
 

Similar to Automated Reverse-Engineering of a Cloud API

UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...
UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...
UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...UKSG: connecting the knowledge community
 
Pitfalls of machine learning in production
Pitfalls of machine learning in productionPitfalls of machine learning in production
Pitfalls of machine learning in productionAntoine Sauray
 
Service Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBITService Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBITAmrita Prasad
 
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...FactoVia
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 reportAkira Tanaka
 
Going deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkusGoing deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkusRed Hat Developers
 
Continuous Intelligence: Moving Machine Learning into Production Reliably
Continuous Intelligence: Moving Machine Learning into Production ReliablyContinuous Intelligence: Moving Machine Learning into Production Reliably
Continuous Intelligence: Moving Machine Learning into Production ReliablyDr. Arif Wider
 
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du CloudObjectif Libre
 
Scaling machine learning workflows with Apache Beam
Scaling machine learning workflows with Apache BeamScaling machine learning workflows with Apache Beam
Scaling machine learning workflows with Apache BeamTatiana Al-Chueyr
 
Cisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - IntroCisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - IntroBeMyApp
 
Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...Thomas Paviot
 
Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...
Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...
Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...All Things Open
 
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)dtz001
 
Developing Video Signal Processing Algorithms for Embedded Vision Systems
Developing Video Signal Processing Algorithms for Embedded Vision SystemsDeveloping Video Signal Processing Algorithms for Embedded Vision Systems
Developing Video Signal Processing Algorithms for Embedded Vision SystemsShogo Muramatsu
 
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...Databricks
 
Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)
Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)
Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)Sergey Karayev
 
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoFrom Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoDatabricks
 
Introducing MLflow for R
Introducing MLflow for RIntroducing MLflow for R
Introducing MLflow for RKevin Kuo
 

Similar to Automated Reverse-Engineering of a Cloud API (20)

UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...
UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...
UKSG Conference 2015 - E-resources: ezPAARSE helps you discover who is readin...
 
Pitfalls of machine learning in production
Pitfalls of machine learning in productionPitfalls of machine learning in production
Pitfalls of machine learning in production
 
QuSandbox+NVIDIA Rapids
QuSandbox+NVIDIA RapidsQuSandbox+NVIDIA Rapids
QuSandbox+NVIDIA Rapids
 
Service Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBITService Engineering, ZHAW for CeBIT
Service Engineering, ZHAW for CeBIT
 
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 report
 
Going deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkusGoing deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkus
 
1st RINASim webinar
1st RINASim webinar1st RINASim webinar
1st RINASim webinar
 
Continuous Intelligence: Moving Machine Learning into Production Reliably
Continuous Intelligence: Moving Machine Learning into Production ReliablyContinuous Intelligence: Moving Machine Learning into Production Reliably
Continuous Intelligence: Moving Machine Learning into Production Reliably
 
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
 
Scaling machine learning workflows with Apache Beam
Scaling machine learning workflows with Apache BeamScaling machine learning workflows with Apache Beam
Scaling machine learning workflows with Apache Beam
 
Cisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - IntroCisco Paris DevNet Hackathon slideshow - Intro
Cisco Paris DevNet Hackathon slideshow - Intro
 
Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...
 
Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...
Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...
Deployment Design Patterns - Deploying Machine Learning and Deep Learning Mod...
 
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
AllThingsOpen 2018 - Deployment Design Patterns (Dan Zaratsian)
 
Developing Video Signal Processing Algorithms for Embedded Vision Systems
Developing Video Signal Processing Algorithms for Embedded Vision SystemsDeveloping Video Signal Processing Algorithms for Embedded Vision Systems
Developing Video Signal Processing Algorithms for Embedded Vision Systems
 
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...
 
Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)
Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)
Lecture 6: Infrastructure & Tooling (Full Stack Deep Learning - Spring 2021)
 
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoFrom Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
 
Introducing MLflow for R
Introducing MLflow for RIntroducing MLflow for R
Introducing MLflow for R
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Automated Reverse-Engineering of a Cloud API

  • 1. Automated Reverse-Engineering of a Cloud API Stéphanie Challita, PhD Associate Professor @University of Rennes 1, ESIR & IRISA/Inria, DiverSE team 30/09/2020 Stéphanie Challita @ENS seminar
  • 2. Brief bio ▪ Degree of Systems and Networks Engineering, 2010 - 2015 ▪ Research Master’s degree in Computer Science, 2014 - 2015 ▪ PhD in Computer Science, 2015 - 2018 ▪ Spirals team (Lille, CRIStAL, Inria) ▪ Postdoctoral Researcher, 2019 - 2020 ▪ Kairos team (Sophia Antipolis, I3S, Inria) ▪ Associate Professor, since September 2020 ▪ DiverSE team (Rennes, IRISA, Inria) 30/09/2020 Stéphanie Challita @ENS seminar 2/41
  • 3. Research project Towards the automatic construction of reliable and co-evolving software systems 30/09/2020 Stéphanie Challita @ENS seminar 3/41 Infer Verify Models for Cloud, IoT… Tests Co-evolution … Scientific challenges o Inference of Domain-Specific Modeling Languages (DSML) from APIs • Precision & Genericity • Learning o Verification • Generation of instances of inferred DSMLs • Generation of oracles o Co-evolution of APIs and languages • Identify the impact of API changes on DSML • Co-evolve the impacted components
  • 4. Research team 30/09/2020 Stéphanie Challita @ENS seminar 4/41 ▪ Modeling & Language Engineering ▪ Advanced testing ▪ DevOps for distributed and heterogeneous systems ▪ Variability Engineeringhttps://www.diverse-team.fr/
  • 5. Cloud computing 30/09/2020 Stéphanie Challita @ENS seminar Created by Sam Johnston, downloaded from https://en.wikipedia.org/wiki/Cloud_computing 5/41
  • 6. Multi-cloud computing 30/09/2020 Stéphanie Challita @ENS seminar 6/41
  • 7. Multi-cloud computing 30/09/2020 Stéphanie Challita @ENS seminar 7/41
  • 8. Approaches for multi-clouds - Actors 30/09/2020 Stéphanie Challita @ENS seminar Cloud provider Cloud developer Cloud architect Use Use Offer 8/41
  • 9. Approaches for multi-clouds 30/09/2020 Stéphanie Challita @ENS seminar AWS API OCCI API DigitalOcean API DigitalOcean SDK Multi-cloud Libraries GCP SDK AWS SDK Public Private Cloud provider Public GCP API Cloud developerOCCI SDK … … Public Cloud Brokers OCCI CIMI … 9/41
  • 10. Approaches for multi-clouds 30/09/2020 Stéphanie Challita @ENS seminar Cloud Metamodel Cloud Model conforms to represented by defines Cloud Meta-metamodel conforms to M0 M1 M2 M3 Cloud architect Model Code generation Static analysis Documentation Transformation 10/41
  • 11. Approaches for multi-clouds 30/09/2020 Stéphanie Challita @ENS seminar Cloud architect CloudML AWS API OCCI API DigitalOcean API DigitalOcean SDK Multi-cloud Libraries GCP SDK AWS SDK Public Private Cloud provider Public GCP API Cloud developerOCCI SDK … … Public Cloud Brokers CAMEL TOSCAOpenTOSCASALOON StratusML OCCI CIMI … 11/41
  • 12. Approaches for multi-clouds Issue: Fuzziness of the concepts of the cloud modeling languages 30/09/2020 Stéphanie Challita @ENS seminar 12/41
  • 13. Research question RQ: Is it possible to automatically extract precise models from cloud APIs and to synchronize them with the cloud evolution? - How to provide an accurate description for a cloud API? - How to correct the existing drawbacks in a cloud API documentation? - How to analyze a cloud API documentation? 30/09/2020 Stéphanie Challita @ENS seminar Research topics: API mining, reverse-engineering, NLP 13/41
  • 14. 30/09/2020 Stéphanie Challita @ENS seminar Model-Driven Approach for the Cloud Infer OCCIGCPAWS Global vision 14/41
  • 15. Cloud API Documentation 30/09/2020 Stéphanie Challita @ENS seminar Cloud developer/architect Cloud provider An agreement with the developer on exactly how the system will operate conformsto Cloud documentation Cloud documentations are written in natural language → human errors and/or semantic confusions 15/41
  • 16. Vision ▪Inferring models from cloud APIs ▪Work of API mining, reverse-engineering ▪ HTML Model ▪Model refinement (NLP techniques, graphical output…) 30/09/2020 Stéphanie Challita @ENS seminar Text Analysis Engine Generic parser Model Generator Model Validator Cloud API Cloud DSML 16/41
  • 17. Google Cloud Platform (GCP) use case 30/09/2020 Stéphanie Challita @ENS seminar Is partner withIs adopted by 17/41
  • 18. List of GCP documentation drawbacks ▪Informal heterogeneous documentation ▪Imprecise types ▪Implicit attribute metadata ▪Hidden links ▪Redundancy ▪Lack of visual support 30/09/2020 Stéphanie Challita @ENS seminar 18/41
  • 19. Imprecise types 30/09/2020 Stéphanie Challita @ENS seminar 19/41
  • 20. Implicit attribute metadata 30/09/2020 Stéphanie Challita @ENS seminar Available at https://cloud.google.com/compute/docs/reference/latest/networks Available at https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets 20/41
  • 21. GCP snapshot 30/09/2020 Stéphanie Challita @ENS seminar ▪ GCP engineers could update/correct GCP documentation ▪ Continuously following up with GCP documentation is costly ▪ Snapshot of GCP API A Snapshot GCP HTML pages GCP documentation 21/41
  • 22. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar GCP Crawler A B Snapshot GCP HTML pages GCP documentation ▪ GCP Crawler to extract all GCP resources, their attributes and actions ▪ GCP Model for a better description of the GCP resources GCP Model C 22/41
  • 23. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 23/41
  • 24. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 24/41
  • 25. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 25/41
  • 26. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 26/41
  • 27. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 27/41
  • 28. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 28/41
  • 29. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 29/41
  • 30. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 30/41
  • 31. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar 31/41
  • 32. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar GCP Crawler A B Snapshot GCP HTML pages GCP documentation ▪ GCP Crawler to extract all GCP resources, their attributes and actions ▪ GCP Model for a better description of the GCP resources GCP Model C OCCIware Metamodel GCP configuration conforms to represented by Ecore Metamodel conforms to M0 M1 M2 M3 GCP model GCP doc conforms to 32/41
  • 33. GCP crawler & GCP model 30/09/2020 Stéphanie Challita @ENS seminar GCP Crawler A B Snapshot GCP HTML pages GCP documentation GCP Model C Implicit Attribute Metadata Detection Link Identification Redundancy Removal Model Transformations Type Refinement Model Visualization 33/41
  • 34. Implicit attribute metadata detection ▪ To explicitly store information into additional attributes defined in the ATTRIBUTE concept of our GCP MODEL ▪ We use Natural Language Processing (NLP) techniques ▪ Word Tagging/Part-of- Speech (PoS) ▪ We declare pre-defined tags for some GCP specific attribute properties: ▪ mu tab le = tru e if [In p u t -O n ly ] ▪ mu tab le = false if [O u tp u t -on ly ]/ read on ly ▪ req u ired = tru e if [Req u ired ] ▪ req u ired = false if [O ption al] ▪ default = X if The default value is X 30/09/2020 Stéphanie Challita @ENS seminar 34/41
  • 35. Implicit attribute metadata detection 30/09/2020 Stéphanie Challita @ENS seminar 35/41
  • 36. Implicit attribute metadata detection 30/09/2020 Stéphanie Challita @ENS seminar 36/41
  • 37. Implicit attribute metadata detection 30/09/2020 Stéphanie Challita @ENS seminar 37/41
  • 38. Implicit attribute metadata detection 30/09/2020 Stéphanie Challita @ENS seminar 38/41
  • 39. Perspectives ▪ More generic crawler to support any API ▪ Do not conform to OCCI anymore, other than HTML pages ▪ Implement GCP studio, a model-based framework that relies on this approach to design and deploy GCP applications ▪ Automated approach that would automatically handle the evolution of GCP ▪ Incrementally detect streaming modifications, by calculating and modifying only the differences between the initially processed version and the newly modified one 30/09/2020 Stéphanie Challita @ENS seminar 39/41
  • 40. Research internship for M2 students 30/09/2020 Stéphanie Challita @ENS seminar Research needs you! 40/41
  • 41. Thank you! Stéphanie Challita, Faiez Zalila, Christophe Gourdin, Philippe Merle. “A Precise Model for Google Cloud Platform" . IEEE International Conference on Cloud Engineering (IC2E). 2018. https://github.com/occiware/GCP-Model stephanie.challita@inria.fr https://stephaniechallita.github.io/ 30/09/2020 Stéphanie Challita @ENS seminar