New Algorithm Adds Up to "Just Enough Testing" for Faulty Software

  • Published
  • By Maria Callier
  • Office of Scientific Research
Funded in part by Air Force Research Laboratory's Young Investigator Award, University of Nebraska researchers developed an algorithm and open source tool to address the issue of faulty software, a problem of urgency to deployed troops whose missions--and sometimes whose lives--depend on properly functioning systems. Designed to ensure "Just Enough Testing" (also the moniker of the project itself), the technology increases software test process efficiency and integrity across the broad range of operational military systems, generating tests 300 times faster than current tools permit, reducing overall test time and costs, and boosting user confidence regarding test reliability.

Large, complex systems and systems families comprising a variety of different software applications are common. Though these multifaceted architectures offer powerful capabilities, their many interacting features may cause faults to occur. Existing algorithms are generally unable to handle these interdependencies; whether because they run slowly to begin with or select very large test schedules, testing--and therefore locating problems--takes too long. Accordingly, the university scientists pursued methods for finding faults earlier, as well as more consistently and quickly, in such intricate system setups. The new technology achieves this based largely on its capacity to reuse test results across different systems that share similar sets of features.

Jointly enabled by Young Investigator Award and National Science Foundation Early Career Development Award funding, this technology is of particular interest to the military due to its potential for reducing in-theater errors. It will also prove helpful to the private sector, where some agencies report that fiscal losses stemming from poor software are approaching $50 billion per year. By targeting quality issues at the software level, the new techniques set the stage for better-performing overall systems, be they military or commercial. In turn, a critical system that consistently behaves properly in the field translates to improved mission success, lower costs, and higher user confidence.