• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. Verification
  3. Those Corner-Case Conditions Caught You Again!
tomacadence
tomacadence

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
sjc
Functional Verification
bugs
corner cases
airport

Those Corner-Case Conditions Caught You Again!

15 Dec 2010 • 3 minute read

In my last blog post, I related a story from my engineering past in which I learned the hard way about the value of anticipating and verifying corner-case conditions. That story was technical in nature, having to do with inadequate verification of software. However, sometimes the corner cases we encounter in life are not technical, but rather a series of relatively inconsequential incidents that line up in just the right way to catch us. Here's a true story from my past that fits that profile.

The setting was the Design Automation Conference (DAC) in Las Vegas a number of years ago. I was working for an EDA company at the time, and all of our DAC participants had gathered in a hotel meeting room Sunday for pre-show training. As "Ulysses" stood up to start the meeting, we noticed that key DAC participant "Maximilian" was missing. Ulysses talked for a few minutes about the role of verification in EDA and in particular about the importance of verifying corner-case conditions. Then he said, "Let me give you an example" and told us the following tale of woe.

That morning, Maximilian had arrived at San Jose International Airport (SJC) in plenty of time for his flight to Las Vegas, which was scheduled to depart from Terminal A, Gate 16A. The airport has been significantly re-configured since then, but at the time 16A was a small gate servicing turboprops and regional jets. It was actually located just before Gate 16, behind a wall and not very visible (see the old map below). Maximilian saw the sign for Gate 16 and sat down to await his flight, either not noticing or not realizing the importance of the extra "A" on his boarding pass.

When time came to board the plane, he apparently did not hear the destination mentioned in the announcement. Either the agent tore off his ticket stub without scanning it or the scanner didn't set off any alert. At any rate, he was allowed to board the wrong plane. He went to his assigned seat, which was empty, and no one else showed up to claim it. As departure time neared, Maximilian looked around the plane and was surprised not to see any familiar faces from EDA. So he asked the man next to him whether the plane was going to Las Vegas, to which his neighbor replied "Oh yeah, sure, we're all going to Vegas."

The cabin crew was just about to close the door when they announced that the flight was going to Chicago. He turned in confusion to his neighbor, who said that he thought the question about going to Vegas was a joke. So Maximilian jumped up and was able to exit the plane, but by that time the flight at adjacent Gate 16A had departed. He checked with the gate agent, but as expected every flight that day between San Jose and Las Vegas was sold out because of DAC. Fortunately, Maximilian was actually a private pilot and so he simply jumped into his Mooney and flew himself to DAC, arriving just an hour or two into our meeting.

As Ulysses pointed out, this outcome was due to an impressive combination of corner-case conditions. SJC had two similarly-numbered gates, Maximilian was able to board the wrong plane, his seat was not occupied by anyone else and his neighbor took his question for a joke. Had any of these conditions been different, he would have realized his mistake and taken the correct flight. If these conditions had all lined up but he had not been a private pilot with a plane ready to go, he would not have arrived at DAC until mid-day Monday on the first available commercial flight.

Maximilian was a bit embarrassed by all this, which is why I've taken the liberty of changing names. I thought that Ulysses' analysis of this adventure in terms of corner-case conditions was just brilliant, which is why I remember it so well. As with my previous post, I hope that this story reminds all of you involved in verification to find your corner-case bugs before they bite you.

Tom A.

The truth is out there...sometimes it's in a blog.

 

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information