The ALPIS gas leak detection system is comprised of an airborne sensor unit and operator’s console. The sensor is mounted to the bottom of a helicopter. The main sensor enclosure houses the laser, computer, receiver optics and detectors. In addition, the system is equipped with a high resolution imaging camera and a GPS receiver. The combination of laser, imaging and GPS data makes it possible to precisely locate the leak. An operator, present on every flight, controls the system using a standard laptop interface and verifies the data integrity.
The whole process is entirely software-driven, as Derek Barnes, Software Engineer for LASEN, explains: “The flight captures data which we then analyze and interpret for our customers. Through a portal the customer can access both the standard inspection data and the survey video captured during the flight. Using geotagging from our GPS system, customers can review their pipeline themselves, and regard this as an important aspect in their regulation compliance and pipeline safety and integrity efforts.”
The software needs to be 100 percent reliable, and this has not always been the case, as Barnes comments: “Our systems have to run and be robust when technicians go out on a flight. In the past we’ve had issues with our software code. There were problems which we just couldn’t track down. The code was crashing and giving us inconsistent results. Errors were showing up in strange places and just didn’t make sense. It all pointed to a memory leak or invalid pointer, but pinpointing it exactly, was where we needed help.”
LASEN has started the process of moving its key software applications to Windows 10, from Windows 7 and Windows XP. Barnes has noticed a performance degradation which will need to be addressed soon.
LASEN looked for a solution to automatically detect and diagnose code defects. It was important that the solution integrates with Visual Studio as the development environment. Barnes had come across tools which were command line based and found them difficult to use. Market research revealed Micro Focus DevPartner as a good fit for LASEN.
DevPartner was soon implemented and the BoundsChecker function proved its worth for LASEN by finding the root cause of the code instability. Memory leaks and memory corruption manifest themselves as unusual code behavior in areas where there really isn’t anything wrong. BoundsChecker pinpoints specific runtime errors that can cause instability if undetected. It also offers reasons for the error and solution advice at the code level.
Barnes comments: “DevPartner BoundsChecker was instrumental in cleaning up the code and finding any memory issues so that we could address them. Our code has been relatively stable for the past few years but we are still subject to code change because we interface into external hardware, such as National Instruments (NI) and need to follow their upgrade paths. Whenever we made a code change to reflect new functionality or an upgrade, we deploy DevPartner to make sure we haven’t introduced anything which could cause a problem for us.”
While transitioning some of the application code from Windows 7 and Windows XP over to Windows 10, in line with corporate policy, Barnes noticed some performance issues. DevPartner’s performance analysis feature TrueTime can help here. TrueTime presents detailed findings so that the code can be optimized for the new platform. Barnes sees a particular need: “LASEN’s applications are multi-thread based and this complicates the Windows upgrade process as threads do not behave the same in every Windows version. Having the code visibility with DevPartner will be a great help in correcting any performance issues.”
Barnes can see some clear benefits: “DevPartner has become a critical part of the LASEN development process. Its smooth integration with Visual Studio makes it easy to use and the integrated reporting structure is very helpful to us. It is helping pave the way to new software versions and platforms, enabling us to maintain our leading technology edge.”
He concludes: “The most important DevPartner benefit is the confidence that our software works and our customers receive the best service possible from us.”