SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
xkcd.com
30 recompiles in half a day =
15 %
of time wasted
How long do you type
before testing your code?
shortening the feedback loop
Philippe Faes, PhD
Outline
• The loop design feedback loop
• Time scales: seconds or months?
• Shortening the loop
• What’s next?
B.W. Boehm. Software Engineering Economics, 1981
time
cost
cost to fix increases over time
B.W. Boehm. Software Engineering Economics, 1981
time
cost
cost to fix increases over time
exponentially
v
log
1
10
100
1000
Time scale
• After a few hours when you compile
• Next day by your colleague
• During weekly code review
• Simulation
• After synthesis / P&R
• In “linting” phase before tape out
• After tape-out
• In the field
Examples
• After a few seconds?
• After a few minutes?
• Linting phase
• After a few hours by a machine
• Next day by your colleague
• During weekly code review
• Simulation (automatic)
• After synthesis / P&R (automatic)
• In “linting” phase before tape out
• After tape-out
compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
save file compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
save file compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
save file compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
¢¢
¢
Regression testing
(not the subject of this talk)
Save-time compilation
• Integration with ISim (Xilinx)
ModelSim and Riviera-PRO
• Error markers in the text!
= right where you can fix the code.
Save-time linting
• Linting is no longer a separate phase!
• Integrated in development
= much less effort
= cheaper
• Available for Aldec ALINT on request.
Type-time compilation
• Compare this to spell check in Word
• BUT: also Grammar, Semantics
• Built in parser
• type-time
• recovering
Type-time compilation
• Compare this to spell check in Word
• BUT: also Grammar, Semantics
• Built in parser
• type-time
• recovering
Checking in bad code
makes you look bad
Examples
• After a few seconds?
• After a few minutes?
• Linting phase
• After a few hours by a machine
• Next day by your colleague
• During weekly code review
• Simulation (automatic)
• After synthesis / P&R (automatic)
• In “linting” phase before tape out
• After tape-out
What you can do
• Try out Sigasi Pro at www.sigasi.com
• Save and compile often!
• Integrate linting checks in development
process
• Set up Regression Testing
Shortening the feedback loop: faster and better code development

Mais conteúdo relacionado

Mais procurados

Python to go
Python to goPython to go
Python to go
Weng Wei
 

Mais procurados (20)

JAZOON'13 - Oliver Zeigermann - Typed JavaScript with TypeScript
JAZOON'13 - Oliver Zeigermann - Typed JavaScript with TypeScriptJAZOON'13 - Oliver Zeigermann - Typed JavaScript with TypeScript
JAZOON'13 - Oliver Zeigermann - Typed JavaScript with TypeScript
 
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and Economics
 
Python to go
Python to goPython to go
Python to go
 
Jazoon2013 type script
Jazoon2013 type scriptJazoon2013 type script
Jazoon2013 type script
 
Team Build in TFS - Introduction
Team Build in TFS - IntroductionTeam Build in TFS - Introduction
Team Build in TFS - Introduction
 
Useful automation
Useful automationUseful automation
Useful automation
 
Riak at Posterous
Riak at PosterousRiak at Posterous
Riak at Posterous
 
Unit Testing in JavaScript
Unit Testing in JavaScriptUnit Testing in JavaScript
Unit Testing in JavaScript
 
Functional Testing - Carlos Vences
Functional Testing - Carlos VencesFunctional Testing - Carlos Vences
Functional Testing - Carlos Vences
 
Continuous integration introduction
Continuous integration introductionContinuous integration introduction
Continuous integration introduction
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
 
Why puppet? Why now?
Why puppet? Why now?Why puppet? Why now?
Why puppet? Why now?
 
Swift should I switch?
Swift should I switch?Swift should I switch?
Swift should I switch?
 
Cool Tools for Customizing (Websites) - Ver1
Cool Tools for Customizing (Websites) - Ver1Cool Tools for Customizing (Websites) - Ver1
Cool Tools for Customizing (Websites) - Ver1
 
Next generation frontend tooling
Next generation frontend toolingNext generation frontend tooling
Next generation frontend tooling
 
Migrate PHP E-Commerce Site to Go
Migrate PHP E-Commerce Site to GoMigrate PHP E-Commerce Site to Go
Migrate PHP E-Commerce Site to Go
 
Instant Upgrades with Rector [PHP Day @ Verona, Italy, 2019 05]
Instant Upgrades with Rector [PHP Day @ Verona, Italy, 2019 05]Instant Upgrades with Rector [PHP Day @ Verona, Italy, 2019 05]
Instant Upgrades with Rector [PHP Day @ Verona, Italy, 2019 05]
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous Integration
 
Continuous Development: Supporting a Release Model
Continuous Development: Supporting a Release ModelContinuous Development: Supporting a Release Model
Continuous Development: Supporting a Release Model
 

Destaque (7)

Plc2 2015 your own ide
Plc2 2015 your own idePlc2 2015 your own ide
Plc2 2015 your own ide
 
Plc2 2015 first time right coding
Plc2 2015 first time right codingPlc2 2015 first time right coding
Plc2 2015 first time right coding
 
EclipseCon Europe 2011
EclipseCon Europe 2011EclipseCon Europe 2011
EclipseCon Europe 2011
 
Recomandări preventive destinate tuturor elevilor în vederea creșterii gradul...
Recomandări preventive destinate tuturor elevilor în vederea creșterii gradul...Recomandări preventive destinate tuturor elevilor în vederea creșterii gradul...
Recomandări preventive destinate tuturor elevilor în vederea creșterii gradul...
 
USA Pollution
USA PollutionUSA Pollution
USA Pollution
 
Questioning for Staff
Questioning for StaffQuestioning for Staff
Questioning for Staff
 
Systems Webquest Lehman
Systems Webquest LehmanSystems Webquest Lehman
Systems Webquest Lehman
 

Semelhante a Shortening the feedback loop: faster and better code development

NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
Dmytro Mindra
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
Idaf_1er
 

Semelhante a Shortening the feedback loop: faster and better code development (20)

10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
 
TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Ci & proServer
Ci & proServerCi & proServer
Ci & proServer
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Mollie
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Development Processes and Tooling
Development Processes and ToolingDevelopment Processes and Tooling
Development Processes and Tooling
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
Putting Compilers to Work
Putting Compilers to WorkPutting Compilers to Work
Putting Compilers to Work
 
Topic production code
Topic production codeTopic production code
Topic production code
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 
Extreme Programming (XP): Revisted
Extreme Programming (XP): RevistedExtreme Programming (XP): Revisted
Extreme Programming (XP): Revisted
 
Effective C++
Effective C++Effective C++
Effective C++
 
Super tools to boost productivity in React dev env!
Super tools to boost productivity in React dev env!Super tools to boost productivity in React dev env!
Super tools to boost productivity in React dev env!
 
Compilers.pptx
Compilers.pptxCompilers.pptx
Compilers.pptx
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

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...
 
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
 
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...
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+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...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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 🐘
 
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...
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Shortening the feedback loop: faster and better code development