SlideShare uma empresa Scribd logo
1 de 23
Static Analysis for I18n Adam Asnes President and CEO Lingoport www.lingoport.com P: 303.444.8020 Lingoport, Inc. 3980 Broadway Boulder, Colorado USA 80304 +1 303 444 8020 www.lingoport.com Monday, April 05, 2010
Presenters Adam Asnes Lingoport
Agenda Business Case Traditional Approach Globalyzer Static Analysis Demonstration ROI: Implications and Examples Questions and Answers
Business Case: Nothing gets internationalized or localized  just because it would be cool
Business Case – why it’s important Survival Global Revenues Key business partners 60% or more of revenues Competitiveness Strategic Growth
Business Case Localization Support U/I and data management/presentation Enterprise Customer Support Global enterprise customers need Unicode support DB and presentation must support client needs
Is It Internationalized? Developers often underestimate i18n requirements Most don’t know the answer Agile or other feature and release requirements often overrun less formally measured i18n requirements There is a Management Value in being able to confirm global readiness
Traditional Approach - repeat, and repeat,and repeat, and repeat
Tiers and Technologies Time and effort increase
Traditional Approach Tedious Search – “hunt and peck” Simple scripts and pseudo-localization testing is insufficient and iterative by nature IDEs are poor at finding i18n issues and across programming languages Finding issues too late Ugly surprises during localization  or worse, after release
Testing Coding Architectureand Design Requirements                 Source: “Software Internationalization Tools and Solutions”  - XeroxCatch Bugs Early! 30 x 15 x Maintenance 7 x Localization 4 x Acceptance 2 x Development Phase when an I18N bug is detected
Testing vs. Static Analysis Testing only validates what can be easily exercised Hard to cover error messages and all aspects of the interface Expensive and inefficient process Static Analysis Evaluates issues at the source level Covers the entire application Guides development through solutions
Static I18n Analysis Frequent i18n analysis speeds the process and Measures how coding practices are in compliance with i18n standards What gets measured improves $$$ value in answering management that the software is global and meets a set of standards
Examples of what to look for? Presentation Embedded Strings Concatenation Data Display E.g. Calendar, numerical formatting Processing e.g. String processing logic Character encoding Other Pattern matching for special cases
Globalyzer Manage, perform and track internationalization so you’re ready for localization
Globalyzer Server and Clients Server Command Line Client
Static Analysis Example With Globalyzer 3.2 www.globlayzer.com
Detection Embedded Strings Locale-unsafe methods, functions, classes per programming language Locale-unsafe programming patters Filtering Conditional – using regex Dictionary matches for strings Special exceptions Individual issue status
Building your own Tools Painful to consider, especially over multiple programming languages How do you search for strings? Research and find methods/functions/classes across programming languages Difficult to gain intelligent results that can be built upon for precise direction during implementation Hard to track issues You now have to support it!
Obstacles to Acceptance False Positives – too many issues detected overwhelms developers Globalyzer filtering Globalyzer project files Globalyzer DB tracks issues and exceptions “Auto-magic” solutions usually don’t work in a highly variable environment. Adaptation is a better solution.
Cost of Fixing I18N Issues During Localization ,[object Object]
If we avoided I18N errors, we could save $762K /yr
If we caught I18N errors at the source, we could save $420K/yr,[object Object]

Mais conteúdo relacionado

Mais de Lingoport (www.lingoport.com)

Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!
Lingoport (www.lingoport.com)
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011
Lingoport (www.lingoport.com)
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert Discussion
Lingoport (www.lingoport.com)
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport (www.lingoport.com)
 

Mais de Lingoport (www.lingoport.com) (20)

Staying Global in an Agile World Presentation
Staying Global in an Agile World PresentationStaying Global in an Agile World Presentation
Staying Global in an Agile World Presentation
 
Internationalizing a Multi-Layered Application
Internationalizing a Multi-Layered ApplicationInternationalizing a Multi-Layered Application
Internationalizing a Multi-Layered Application
 
Shifting Left Webinar Slideshow
Shifting Left Webinar SlideshowShifting Left Webinar Slideshow
Shifting Left Webinar Slideshow
 
Shifting Left Webinar Slides
Shifting Left Webinar SlidesShifting Left Webinar Slides
Shifting Left Webinar Slides
 
Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!
 
Keyboards and Internationalization
Keyboards and InternationalizationKeyboards and Internationalization
Keyboards and Internationalization
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011
 
Internationalization & Localization Process
Internationalization & Localization ProcessInternationalization & Localization Process
Internationalization & Localization Process
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert Discussion
 
Unicode Primer for the Uninitiated
Unicode Primer for the UninitiatedUnicode Primer for the Uninitiated
Unicode Primer for the Uninitiated
 
Static analysis for multiple programming languages
Static analysis for multiple programming languagesStatic analysis for multiple programming languages
Static analysis for multiple programming languages
 
Wordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static AnalysisWordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static Analysis
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
 
JavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationJavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software Localization
 
Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...
 
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
 
Outsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) ServicesOutsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) Services
 
Internationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyInternationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A Study
 
Business Perspectives on Internationalization (i18n)
Business Perspectives on Internationalization (i18n)Business Perspectives on Internationalization (i18n)
Business Perspectives on Internationalization (i18n)
 
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
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...
 
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
 

Static Analysis Internationalization I18n Software Localization

  • 1. Static Analysis for I18n Adam Asnes President and CEO Lingoport www.lingoport.com P: 303.444.8020 Lingoport, Inc. 3980 Broadway Boulder, Colorado USA 80304 +1 303 444 8020 www.lingoport.com Monday, April 05, 2010
  • 3. Agenda Business Case Traditional Approach Globalyzer Static Analysis Demonstration ROI: Implications and Examples Questions and Answers
  • 4. Business Case: Nothing gets internationalized or localized just because it would be cool
  • 5. Business Case – why it’s important Survival Global Revenues Key business partners 60% or more of revenues Competitiveness Strategic Growth
  • 6. Business Case Localization Support U/I and data management/presentation Enterprise Customer Support Global enterprise customers need Unicode support DB and presentation must support client needs
  • 7. Is It Internationalized? Developers often underestimate i18n requirements Most don’t know the answer Agile or other feature and release requirements often overrun less formally measured i18n requirements There is a Management Value in being able to confirm global readiness
  • 8. Traditional Approach - repeat, and repeat,and repeat, and repeat
  • 9. Tiers and Technologies Time and effort increase
  • 10. Traditional Approach Tedious Search – “hunt and peck” Simple scripts and pseudo-localization testing is insufficient and iterative by nature IDEs are poor at finding i18n issues and across programming languages Finding issues too late Ugly surprises during localization or worse, after release
  • 11. Testing Coding Architectureand Design Requirements Source: “Software Internationalization Tools and Solutions” - XeroxCatch Bugs Early! 30 x 15 x Maintenance 7 x Localization 4 x Acceptance 2 x Development Phase when an I18N bug is detected
  • 12. Testing vs. Static Analysis Testing only validates what can be easily exercised Hard to cover error messages and all aspects of the interface Expensive and inefficient process Static Analysis Evaluates issues at the source level Covers the entire application Guides development through solutions
  • 13. Static I18n Analysis Frequent i18n analysis speeds the process and Measures how coding practices are in compliance with i18n standards What gets measured improves $$$ value in answering management that the software is global and meets a set of standards
  • 14. Examples of what to look for? Presentation Embedded Strings Concatenation Data Display E.g. Calendar, numerical formatting Processing e.g. String processing logic Character encoding Other Pattern matching for special cases
  • 15. Globalyzer Manage, perform and track internationalization so you’re ready for localization
  • 16. Globalyzer Server and Clients Server Command Line Client
  • 17. Static Analysis Example With Globalyzer 3.2 www.globlayzer.com
  • 18. Detection Embedded Strings Locale-unsafe methods, functions, classes per programming language Locale-unsafe programming patters Filtering Conditional – using regex Dictionary matches for strings Special exceptions Individual issue status
  • 19. Building your own Tools Painful to consider, especially over multiple programming languages How do you search for strings? Research and find methods/functions/classes across programming languages Difficult to gain intelligent results that can be built upon for precise direction during implementation Hard to track issues You now have to support it!
  • 20. Obstacles to Acceptance False Positives – too many issues detected overwhelms developers Globalyzer filtering Globalyzer project files Globalyzer DB tracks issues and exceptions “Auto-magic” solutions usually don’t work in a highly variable environment. Adaptation is a better solution.
  • 21.
  • 22. If we avoided I18N errors, we could save $762K /yr
  • 23.
  • 24. Questions, Contacts & Next Steps Contact: Adam Asnes – adam@lingoport.com