A select group of senior-level software engineering professionals came together for Undo’s Salon Dinner under the shadow of Howard Hughes’ iconic flying boat, the “Spruce Goose” at the Evergreen Aviation and Space Museum in McMinnville, OR.
Joining Undo’s CEO, Barry Morris, was Bryan Bowyer, director of engineering at Mentor, a Siemens Business. Mentor is the leader in the electronic design automation industry helping engineers conquer design challenges in the increasingly complex worlds of board and chip design. Now part of Siemens they service the largest semiconductor and embedded companies in the world such as Qualcomm, ARM, and TSMC.
Among the night’s many topics, there were two main themes that arose.
The need to fix what’s broken, fast, and with ease
The discussion started around a situation many software engineers find themselves in. You get to the end of an extremely long, complex process, and something failed, something is broken. You want the ability to walk backwards through that process to find what was broken, but in many cases, the pointers aren’t the same every time so it becomes very difficult to keep track of what is happening in longer runs.
“If you get to the end of the recording and you want to back up and find the failure, it can take a very long time to figure out,” said Bryan.
One way to fix this, as was discussed at dinner, is to use a reversible debugger to set a backwards breakpoint on a pointer and walk backwards through the process until the source of the failure has been found. Doing this allows software engineers to immediately zero in on the mode of failure without the burden of a repetitive and guess-driven debugging approach.
Solving customer issues doesn’t have to implicate their IP
Another major topic of discussion was the growing need to navigate around IP-sensitive content on the customer site for production-related software issues. As more and more companies confront the fact that clients are unwilling to send them source code to debug issues, they are turning to new and innovative solutions.
“I think this is something everyone in EDA struggles with,” said Bryan Bowyer. “We try to figure out how we can get these test cases so we can see what’s going wrong.”
One of the main workarounds for IP-sensitive integrations is to leverage a recording of the process to generate a reproducer of the issue that is self contained and divorced from the customers’ initial design.
Attendees noted that they had been able to debug even relatively crazy failures like hangs, crashes and error messages, all of which were able to be brought out of the client environment and debugged back at HQ. As long as they can get their customers to the point where they are comfortable sharing a small part of their in-memory design, teams are able to get everything they need to debug.
“It is a pretty nice thing, and something you cannot do without LiveRecorder,” said Bowyer.
Keep an eye out for future Salon Dinner events, coming to a city near you.