Undo Software has extended its debugging tools to support the 64bit ARMv8-A architecture, writes Nick Flaherty.
Undo’s full portfolio of advanced Linux and Android reversible debugging tools will support 64bit ARM processors, enabling companies to simplify the process of porting code from alternative hardware architectures and legacy software environments to ARM.
Debugging is the number one challenge when moving existing code to new architectures. It is easy to miss subtle differences in a new architecture’s requirements and for software to be exposed to these in only relatively rare corner cases. Porting software can also uncover previously unseen bugs that may not be revealed until code is shipped to customers.
Developers have to spend a significant amount of time and money trying to fix these problems, and solutions are not always guaranteed, creating friction with customers, which can damage or even ruin business relations.
Live Recorder simplifies the process of porting code across hardware architectures by enabling Linux and Android programs to make a detailed recording of themselves while they are running, and contains everything needed for a developer to debug an exact copy of the bug as it occurred in production.
The recording includes everything a program has done, including every memory access made and every instruction executed, but does this in a highly compressed and efficient way. The resulting recording file can then be sent back from the customer to the developer, where it is run through UndoDB, Undo’s reversible debugger for Linux and Android. UndoDB can be used in conjunction with GDB, ARM DS-5 or Lauterbach’s TRACE32. It enables developers to run and step their programs backwards, as well as forwards in time, allowing them to fix bugs much more quickly.
Recordings made by Live Recorder can be loaded into UndoDB for off-line debugging of in-production failures.
This means developers no longer need to write test cases that attempt to reproduce the error, or make time-consuming and expensive visits to the customer site, as they have all the information they need to fix the failure from their current location. Companies can now respond to software problems immediately and improve the quality of their code post deployment, accelerating time to market while maintaining confidence in their products and enhancing the customer relationship.
Live Recorder can be used to diagnose in-production failures and to facilitate the bring-up and beta-testing phases of development, further reducing the time it takes to bring a product to market.
“Porting code across architecture is hard and debugging is the key challenge that businesses face,” said Greg Law, CEO and co-founder, Undo Software. “Software vendors need to de-risk the process, reducing the potential impact of bugs finding their way into customer production code. Thanks to our partnership with ARM, developers are now able to move code more easily to the ARMv8-A architecture, paving the way for even more high quality software to be available within the ecosystem.”
He points to the majority of embedded software being developed with 64bit ARM code in mind, and he is targeting telecoms, Internet of Things, enterprise server, High Performance Computing (HPC), mobile, and automotive industries. These are the most advanced in porting existing software to the 64-bit ARM architecture, and have made the largest investments in the new platform.
The ARMv8-A architecture (which includes the 64-bit AArch64 execution state) powers the newest ARM Cortex processors. The ARMv8-A architecture delivers power-efficient scalable performance while maintaining compatibility with existing 32-bit software.
64-bit ARM versions of Live Recorder and UndoDB are being shipped to select customers now and will be generally available from Q1 2016.