SlideShare ist ein Scribd-Unternehmen logo
1 von 153
Program Understanding: What Programmers Really Want Einar W. HĂžst May 5th 2011
Description Introduction How Analysis  can help Understanding Understanding Program Understanding Agenda Agenda Evaluation Examples ConsiderLimitationsofCurrentTools Look at some well-known Analyses
Program  Analysis Program  Understanding Program  Analysis
Why is program understanding important?
It’s what programmers do!
“To program is to understand”                        - Kristen Nygaard
Why is program understanding  hard?
Size.
Complexity.
Heterogenity.
Side-effects.
The concept assignment problem.
Intangibility.
=>
Disorientation.
“Few are the programmers who can explain their code well enough so that reading it is not incredibly frustrating.”                                       - JefRaskin
How can program analysis help?
Program Understanding ? $s.=($f=$A RGV[$_%2] )x(substr$s ,$_,1or$f) for0..500;
Program Understanding ! $s.=($f=$A RGV[$_%2] )x(substr$s ,$_,1or$f) for0..500; Through themagic lens of a Tool
What do programmers want?
”Helpme in finding whatneeds to be changed...
...make thechange...
...and getthe !$&?/% out!”
Just-in-time program understanding.
Complete understanding is ,[object Object]
Not cost-effective
Not necessary,[object Object]
Understand the program  well enough to fix a bug
Understand the program  well enough to improveperformance
Without change,  there is no need for understanding!
Program understanding ,[object Object]
 Understanding control flow
 Understanding data flow
 Understanding dependencies
 Understanding side-effects
 Understanding change impact
 Reasoning about designat the code level
Program understanding ,[object Object],at the task level
Comprehension strategies
Comprehension strategies Reconstructknowledgeaboutthe program domain and mapping it to thesourcecode. Top-down
Comprehension strategies Readcodestatements and mentallygroupthesestatementsintohigherlevelabstractions. Bottom-up
Comprehension strategies Readcode in detail, followcontrolflow, gain global understanding. Systematic
Comprehension strategies Scancode, looking for cluesindicatingrelevance to thetask at hand. Opportunistic
Comprehension strategies conjecture question search read Inquiries
Comprehension strategies Understanding is formed by switchingbetweendifferentstrategies as needed. Integrated
Tools for  program understanding
Analysis Presentation
Analysis tools ,[object Object]
 Program slicing
 Feature location
Effectsofchange
 Software metrics,[object Object]
Context-awareness,[object Object]
print”This is not a program.”
print(”This is not a program.”)
The program as text
The program as binary
The program as versioned
The program as process
The program ecosystem ,[object Object]
 Execution environment (runtime)
 Test suite
 Version control system
 Issue tracking system
 Integrated development environment
 The programmer
 External sources,[object Object]
Behavior-centric ,[object Object]
 What happens if I change this?
 Where is this code used?
 Which parts of the program are affected by change?Requires program code
Evolution-centric ,[object Object]
 Who can help me understand this?
 Why was this feature implemented this way?
 What are the most bug-prone parts of the program?
 Where do changes happen most often?Requires program history
Interaction-centric ,[object Object]
Whichtasksare hard to accomplish?
 Which parts of the program are hard to change? Requires coding-session history
What is program analysis?
Traditional program analysis All you need is code All you need is code All you need is code, code Code is all you need
Static Dynamic
Static All possible executions
Static Sound + Conservative
Static Trades  precision  for  soundness
Sample executions Dynamic
Efficient + Precise Dynamic
Trades completeness for efficiency Dynamic
Static Synergy Dynamic
Program analysis for  program understanding
Call graph construction
Call graph construction Show calling relationshipsbetween parts of a program. Essential idea
Call graph construction f h main g Sample graph
Call graph construction The relationdescribingexactlythosecallsmade from oneentity to another in anypossibleexecutionofthe program. The ideal call graph
Call graph construction Make the program seem less fragmented by showingthecontrolflow links between program parts. Benefit
Call graph construction The graphbecomes too large and complex to be comprehensible. Limitation
Call graph construction ”The sightofgcc'scallgraph frightened my students  so muchthattheyrequested a differentproject” 							- ArunLakhotia Limitation
Program slicing
Program slicing Find a reduced program exhibitingthe same behaviorofinterest as the full program. Essential idea
Program slicing The reduced program is called a program slice.
Program slicing C  =  < x, V > x	: a statement in program P V	: a subsetof variables in P Slicing criterion
Criterion: <12, z> 1begin 2read(x,y) 3total := 0.0 4sum := 0.0 5if x <= 1 6   then sum := y 7   else begin 8read(z) 9     total := x*y 10   end 11write(total, sum) 12 end. 1 begin 2read(x,y) 5 if x <= 1 6 then 7 else 8read(z) 12 end.
Criterion: <12, x> 1begin 2read(x,y) 3total := 0.0 4sum := 0.0 5if x <= 1 6   then sum := y 7   else begin 8read(z) 9     total := x*y 10   end 11write(total, sum) 12 end. 1 begin 2read(x,y) 12 end.
Program slicing Whatwouldthe program look like ifweassume an initial statesatisfyingC ? Forward conditioning
Program slicing Deletesstatementsthatwill not be executed given the initial state. Forward conditioning
Program slicing Whatwouldthe program look like ifweassume an eventual statesatisfyingC ? Backward conditioning
Program slicing Deletesstatementswhichcannot lead to the eventual state. Backward conditioning
Program slicing The reduced program is smaller. Benefit
Program slicing The reduced program looks foreign. Limitation
Program slicing Hard to integrateintotheprogrammer’sworkflow. Limitation
Concept analysis
Concept analysis Identifygroupingsofobjectsthat have commonattributes. Essential idea
Concept analysis C = (O, A, R) O	 Set of objects A	 Set of attributes R	 Relation R⊆O ×A Formal context
Concept analysis σ(O) = {a∈A⎼∀o∈O : (o, a)∈R} O	 Set of objects A	 Set of attributes R	 Relation R⊆O ×A Common attributes
Concept analysis τ(A) = {o∈O⎼∀a∈A : (o, a)∈R} O	 Set of objects A	 Set of attributes R	 Relation R⊆O ×A Common objects
Concept analysis A pair (O, A) is a concept if A = σ(O) and O = τ(A) Definition of concept
Concept analysis O=>  Subprograms A=>  Features Feature location
Concept analysis (s, f) ⊆ R if subprogram s is invoked  when feature f is invoked Feature location
Concept analysis Identify parts ofthe program relevant for a feature. Benefit
Concept analysis Recoveryofcomponents and generationofhigh-levelarchitectureviews. Benefit
Concept analysis Imperfecthigh-leveldescriptions have limited application for concretetasks. Limitation
Concept analysis Requireseffort from  the programmer,  withunclearbenefits. Limitation
Concept analysis Hard to integrateintotheprogrammer’sworkflow. Limitation
Change impact analysis
Change impact analysis Identifythepotentialconsequencesof a program change. Essential idea
Change impact analysis Estimatewhat must be modified to accomplish a changeofbehavior. Essential idea
Change impact analysis Subtyping and dynamicdispatchmeansthatchangeimpactcan be  non-local and unexpected. Challenges in OO languages
Change impact analysis Atomic changes
Change impact analysis Provide a boundaryaroundtheeffectsof a program edit. Benefit
Change impact analysis Provideconfidencethat an editdoes not have unexpectedeffectsoutsidetheboundary. Benefit
Change impact analysis Limited by theprecisionofthechangeimpactanalysis. Limitation
Change impact analysis Still needassurancethatnounexpectedeffectsoccur in theimpacted part ofthe program. Limitation
Change impact analysis Hard to integrateintotheprogrammer’sworkflow. Limitation
Program metrics
Program metrics Quantifyaspectsofthe program presumed to be relevant. Essential idea
Program metrics ,[object Object]
 Depth of inheritance tree
 Internal cohesion
 Coupling to other elements
Cyclomatic complexity
 Halstead complexity
 ...Code-centric metrics
Program metrics ,[object Object]
 Bug density
 Change rate
 ...Other metrics
Program metrics Answer questions regarding program quality. Benefit
Program metrics Identify potential problem areas in the program. Benefit
Program metrics Metrics are indirect indicators of quality. Limitation
Program metrics Task-generating,  not task-solving. Limitation
Software visualisation
Software visualisation Avoidoverwhelmingthe programmer by compressinginformation and usinggraphics. Goal

Weitere Àhnliche Inhalte

Was ist angesagt?

Why do the Projects fail
Why do the Projects failWhy do the Projects fail
Why do the Projects failSwapanK
 
Risks of Risk-Based Testing
Risks of Risk-Based TestingRisks of Risk-Based Testing
Risks of Risk-Based Testingrrice2000
 
Root cause analysis master plan
Root cause analysis master planRoot cause analysis master plan
Root cause analysis master planGlen Alleman
 
Agile Testing Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015Agile Testing   Agile Ottawa April 2015
Agile Testing Agile Ottawa April 2015Dag Rowe
 
Defect analysis and prevention methods
Defect analysis and prevention methods Defect analysis and prevention methods
Defect analysis and prevention methods deep sharma
 
RCA Presentation V0 1
RCA Presentation V0 1RCA Presentation V0 1
RCA Presentation V0 1Ian McDonald
 
Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing processGloria Stoilova
 
Do iT : Failure - Root Cause analysis : Classical approach by C3VIVO
Do iT : Failure - Root Cause analysis : Classical approach by C3VIVODo iT : Failure - Root Cause analysis : Classical approach by C3VIVO
Do iT : Failure - Root Cause analysis : Classical approach by C3VIVOKiran Vairagkar
 
The testing skillset
The testing skillsetThe testing skillset
The testing skillsetJohan Hoberg
 
Better Software Classic Testing Mistakes
Better Software Classic Testing MistakesBetter Software Classic Testing Mistakes
Better Software Classic Testing Mistakesnazeer pasha
 
Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...
Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...
Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...TEST Huddle
 
test
testtest
testgikrauss
 
SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1Amr E. Mohamed
 
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONSOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONIJCI JOURNAL
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarQASymphony
 
Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)Neil Thompson
 

Was ist angesagt? (19)

Why do the Projects fail
Why do the Projects failWhy do the Projects fail
Why do the Projects fail
 
Risks of Risk-Based Testing
Risks of Risk-Based TestingRisks of Risk-Based Testing
Risks of Risk-Based Testing
 
Root cause analysis master plan
Root cause analysis master planRoot cause analysis master plan
Root cause analysis master plan
 
Agile Testing Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015Agile Testing   Agile Ottawa April 2015
Agile Testing Agile Ottawa April 2015
 
The art of project estimation
The art of project estimationThe art of project estimation
The art of project estimation
 
Defect analysis and prevention methods
Defect analysis and prevention methods Defect analysis and prevention methods
Defect analysis and prevention methods
 
RCA Presentation V0 1
RCA Presentation V0 1RCA Presentation V0 1
RCA Presentation V0 1
 
Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process
 
Root Cause Analysis Presentation
Root Cause Analysis PresentationRoot Cause Analysis Presentation
Root Cause Analysis Presentation
 
Do iT : Failure - Root Cause analysis : Classical approach by C3VIVO
Do iT : Failure - Root Cause analysis : Classical approach by C3VIVODo iT : Failure - Root Cause analysis : Classical approach by C3VIVO
Do iT : Failure - Root Cause analysis : Classical approach by C3VIVO
 
The testing skillset
The testing skillsetThe testing skillset
The testing skillset
 
Better Software Classic Testing Mistakes
Better Software Classic Testing MistakesBetter Software Classic Testing Mistakes
Better Software Classic Testing Mistakes
 
Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...
Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...
Neil Thompson - Value Inspired Testing: Renovating Risk-Based Testing and Inn...
 
ISTQB Advanced Test Manager Training 2012 - Testing Process
ISTQB Advanced Test Manager Training 2012 - Testing Process ISTQB Advanced Test Manager Training 2012 - Testing Process
ISTQB Advanced Test Manager Training 2012 - Testing Process
 
test
testtest
test
 
SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1
 
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONSOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
 
Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)Risk-Based Testing - Designing & managing the test process (2002)
Risk-Based Testing - Designing & managing the test process (2002)
 

Andere mochten auch

Time tested php with libtimemachine
Time tested php with libtimemachineTime tested php with libtimemachine
Time tested php with libtimemachineNick Galbreath
 
libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012Nick Galbreath
 
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forumlibinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open ForumNick Galbreath
 
Best Practices for Leveraging Security Threat Intelligence
Best Practices for Leveraging Security Threat IntelligenceBest Practices for Leveraging Security Threat Intelligence
Best Practices for Leveraging Security Threat IntelligenceAlienVault
 
How to Leverage Log Data for Effective Threat Detection
How to Leverage Log Data for Effective Threat DetectionHow to Leverage Log Data for Effective Threat Detection
How to Leverage Log Data for Effective Threat DetectionAlienVault
 
IDS for Security Analysts: How to Get Actionable Insights from your IDS
IDS for Security Analysts: How to Get Actionable Insights from your IDSIDS for Security Analysts: How to Get Actionable Insights from your IDS
IDS for Security Analysts: How to Get Actionable Insights from your IDSAlienVault
 
How to Detect SQL Injections & XSS Attacks with AlienVault USM
How to Detect SQL Injections & XSS Attacks with AlienVault USM How to Detect SQL Injections & XSS Attacks with AlienVault USM
How to Detect SQL Injections & XSS Attacks with AlienVault USM AlienVault
 
Static code analysis
Static code analysisStatic code analysis
Static code analysismashaathukorala
 
Static code analysis
Static code analysisStatic code analysis
Static code analysisRune Sundling
 
libinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick Galbreathlibinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick GalbreathCODE BLUE
 
The promise of asynchronous PHP
The promise of asynchronous PHPThe promise of asynchronous PHP
The promise of asynchronous PHPWim Godden
 

Andere mochten auch (12)

Time tested php with libtimemachine
Time tested php with libtimemachineTime tested php with libtimemachine
Time tested php with libtimemachine
 
libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012libinjection: a C library for SQLi detection, from Black Hat USA 2012
libinjection: a C library for SQLi detection, from Black Hat USA 2012
 
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forumlibinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
libinjection: new technique in detecting SQLi attacks, iSEC Partners Open Forum
 
Best Practices for Leveraging Security Threat Intelligence
Best Practices for Leveraging Security Threat IntelligenceBest Practices for Leveraging Security Threat Intelligence
Best Practices for Leveraging Security Threat Intelligence
 
How to Leverage Log Data for Effective Threat Detection
How to Leverage Log Data for Effective Threat DetectionHow to Leverage Log Data for Effective Threat Detection
How to Leverage Log Data for Effective Threat Detection
 
IDS for Security Analysts: How to Get Actionable Insights from your IDS
IDS for Security Analysts: How to Get Actionable Insights from your IDSIDS for Security Analysts: How to Get Actionable Insights from your IDS
IDS for Security Analysts: How to Get Actionable Insights from your IDS
 
How to Detect SQL Injections & XSS Attacks with AlienVault USM
How to Detect SQL Injections & XSS Attacks with AlienVault USM How to Detect SQL Injections & XSS Attacks with AlienVault USM
How to Detect SQL Injections & XSS Attacks with AlienVault USM
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
 
libinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick Galbreathlibinjection: from SQLi to XSS  by Nick Galbreath
libinjection: from SQLi to XSS  by Nick Galbreath
 
How To Detect Xss
How To Detect XssHow To Detect Xss
How To Detect Xss
 
The promise of asynchronous PHP
The promise of asynchronous PHPThe promise of asynchronous PHP
The promise of asynchronous PHP
 

Ähnlich wie Program understanding: What programmers really want

Program slicing by kumari nutan
Program slicing by kumari nutanProgram slicing by kumari nutan
Program slicing by kumari nutankumari nutan
 
Risk Based Software Planning
Risk Based Software PlanningRisk Based Software Planning
Risk Based Software PlanningMuhammad Alhalaby
 
Procedural programming
Procedural programmingProcedural programming
Procedural programmingAnkit92Chitnavis
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenanceNancyBeaulah_R
 
DP Project Report
DP Project ReportDP Project Report
DP Project ReportChawal Ukesh
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesJĂ©rĂŽme Kehrli
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3REHAN IJAZ
 
CSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented DesignCSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented DesignJI Ruan
 
Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.pptssuser3f82c9
 
Exploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsExploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsIRJET Journal
 
Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Steve Feldman
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingAYUSH JAIN
 
Software engineering interview questions
Software engineering interview questionsSoftware engineering interview questions
Software engineering interview questionsMuhammadTalha436
 

Ähnlich wie Program understanding: What programmers really want (20)

Program slicing by kumari nutan
Program slicing by kumari nutanProgram slicing by kumari nutan
Program slicing by kumari nutan
 
Risk Based Software Planning
Risk Based Software PlanningRisk Based Software Planning
Risk Based Software Planning
 
software engineering
 software engineering software engineering
software engineering
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
10 lesson8
10 lesson810 lesson8
10 lesson8
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
DP Project Report
DP Project ReportDP Project Report
DP Project Report
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and Practices
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
Introduction to problem solving in C
Introduction to problem solving in CIntroduction to problem solving in C
Introduction to problem solving in C
 
CSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented DesignCSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented Design
 
Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.ppt
 
Exploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsExploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD Metrics
 
Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Software engineering interview questions
Software engineering interview questionsSoftware engineering interview questions
Software engineering interview questions
 
Scope of variables
Scope of variablesScope of variables
Scope of variables
 

KĂŒrzlich hochgeladen

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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 
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
 

KĂŒrzlich hochgeladen (20)

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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+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...
 
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?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
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
 

Program understanding: What programmers really want