Welcome!

Microsoft Cloud Authors: Nick Basinger, Kevin Benedict, Pat Romanski, Liz McMillan, Lori MacVittie

Related Topics: Microsoft Cloud

Microsoft Cloud: Article

Static Analysis Helps Computer Company Prevent Software Errors

The "shift left" enables them to accelerate delivery while ensuring high reliability

Static Analysis Helps a Leading Computer Company Prevent Software Errors

A leading personal computer company is dedicated to adding market-differentiating software "preloads" to their systems, and wants to continue their trend of reducing field-reported defects for those preloads.

Working with Parasoft, industry leader in Development Testing and defect prevention, they have adopted a custom-tailored static analysis solution for eliminating defects early in the software development lifecycle. This "shift left" enables them to accelerate delivery while ensuring high reliability.

The Challenge: Preventing Critical, Yet Uncommon, Defects

To ensure a positive user experience, this company actively tracks and works to mitigate the number of field-reported crashes (monitored via Windows Error Reporting) associated with the software that they develop and preload on their systems. Based on their experience and research, the company's quality leaders were convinced that static analysis could help them prevent many of the crash-causing defects being reported. However, there was one problem: out of the box, none of the leading static analysis solutions (Parasoft included) caught the specific defects that were most common and important for their business.

Being able to deliver differentiating software preloads as rapidly and efficiently as possible is critical to this company's business. However, if defects are identified by QA (rather than development), considerably more time and resources are required to diagnose and eliminate each defect. This significantly impacts the velocity and predictability of their delivery cycles-an issue which is becoming increasingly critical as they transition from waterfall to Agile.

The Solution: A Custom-Tailored Static Analysis Solution

The company proposed that Parasoft partner with them to address this problem. They would share details about the defects that they most wanted to prevent-for example, defects related to accessing null pointers, memory violations, buffer overruns, out of bounds accessing, etc. Parasoft would then evolve the static analysis technology featured in its Development Testing Platform to prevent these types of defects.

This was a win-win situation. The company would gain the very specific technology needed to meet their strict quality needs, and Parasoft would be able to offer their expanded technology to the general market, as well as gain the opportunity to be integrated into the company's supply chain.

Other factors driving the selection of Parasoft included:

  • Strong support for a broad set of programming languages: The company uses C++, .NET (C#), as well as Java. Parasoft centralizes execution and reporting for static analysis across all of these languages.

  • Enterprise-grade support for centrally-managed rules across teams and projects: With a global workforce, analyzing code versus a uniform set of expectations is critical. Centralized management eliminates the opportunity for miscommunications or human error introducing inconsistencies into the analysis.

  • Workflow integration: One key reason why the company's previous static analysis initiative failed to achieve the desired result is that the solution was not integrated into the development workflow (developers had to review reports outside of their standard tools/process, so reported defects were not being addressed and resolved). Parasoft's open infrastructure allows seamless integration into the company's existing tools and process (e.g., execution via Continuous Integration and reporting via their bug-tracking system).

Next Steps: Tracking and Optimizing How Static Analysis Reduces Field-Reported Errors

This company expects that the solution will provide release management increased visibility into the risks associated with the applications being developed-enabling them to make more informed go/no-go decisions. Since Windows Error Reporting gives them a very reliable account of how many crashes are occurring in the field, they look forward to tracking which defect prevention efforts have the greatest business impact. They can then use this feedback to continuously improve towards their ultimate goal-accelerating the delivery of innovative preload software without compromising the reliability that their enterprise clients expect.

Once the Parasoft solution is fully "baked into" the process across their laptop PCs, the company plans to extend the Parasoft solution across the remainder of their product lines.

Down the road, the company anticipates making the solution a requirement for vendors within their supply chain. When a driver that is preloaded on one of their PCs fails, users are likely hold the company accountable for that failure. As part of their ongoing efforts to ensure a positive user experience, the company monitors these failures (also reported through Windows Error Reporting) and works with vendors to minimize them. If the company finds that the Parasoft solution can effectively prevent the crashes being reported for preloaded drivers, then they plan to require vendors to comply with their selected rule set as part of their partnership terms.

Static Analysis Webinar: Where Does Static Analysis Fit in "Continuous Everything"?

Modern software development strategies call for a staggering amount of process automation to reduce the injection of defects and to get to market faster. These strategies lean on continuous testing, continuous builds, and continuous delivery-in short, "continuous everything." But organizations seeking to enable continuous processes consistently hit two barriers:

  • Setting criteria for determining next-level readiness.

  • Evolving policy to meet the demands of continuous development.

Join the live Where Does Static Analysis Fit in "Continuous Everything"? Power Hour webinar on Thursday April 23 to explore the critical role that static analysis plays in enabling continuous testing, continuous builds, and continuous delivery-including how static analysis:

  • Serves as the backbone for automating quality gates that verify whether code is ready for downstream phases of development. 

  • Helps you prevent avoidable rework that impedes velocity.

More Stories By Cynthia Dunlop

Cynthia Dunlop, Lead Content Strategist/Writer at Tricentis, writes about software testing and the SDLC—specializing in continuous testing, functional/API testing, DevOps, Agile, and service virtualization. She has written articles for publications including SD Times, Stickyminds, InfoQ, ComputerWorld, IEEE Computer, and Dr. Dobb's Journal. She also co-authored and ghostwritten several books on software development and testing for Wiley and Wiley-IEEE Press. Dunlop holds a BA from UCLA and an MA from Washington State University.

IoT & Smart Cities Stories
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...