Open source tool, algorithm aim to slash software errors

Open source project backed by Air Force, NSF

Can open source software and an algorithm really detect general software error 300 times faster than current methods?  

University of Nebraska researcher think so and through their project known as  "Just Enough Testing" they have developed such an open source tool and algorithm that they say will increase the efficiency of the software testing process across multiple systems saving companies money and time. 

Layer 8 Extra:

15 genius algorithms that aren't boring  

The world's 23 toughest math questions  

 The project, funded in part by the Air Force Office of Scientific Research and the National Science Foundation has applications in the military and private sectors where poor software design can cost big bucks, researchers said.

 Large and complex software systems are common, and within them, groups of interacting features may cause faults to occur. Researchers have examined ways to ensure that faults are found earlier and more often in these types of systems, the group stated.

"Software failures have the potential to cause financial, environmental or bodily harm," said lead researcher, Dr. Myra Cohen in a release. "In the long term, we expect that as software product lines are used to produce large numbers of systems, and as they mature over time, we will be able to deploy new systems faster and with less likelihood of failure."

"This project focuses on the configuration-definition layer (CDL) of software to develop a set of scalable and adaptive configuration-aware testing techniques. It leverages research from combinatorial interaction testing for sampling, and work in solving to handle complex dependencies. Specifically, it creates new algorithmic techniques to sample test configurations, creates models for cost-based sampling in time-constrained or risk-based environments, and explores several domain specific customizations," Cohen stated on the NSF Web site.

 Cohen in a white paper talked about another system she and other researchers developed called Skoll that helped them determine which specific software options and option settings cause specific failures to manifest.   

"Many modern software systems are designed to be highly configurable so they can run on and be optimized for a wide variety of platforms and usage scenarios. Testing such systems is difficult because, in effect, you are testing a multitude of systems, not just one. Moreover, bugs can and do appear in some configurations, but not in others," researchers stated.

Algorithms do exist that can produce samples for testing, but few can handle dependencies between features well. Either they run slowly or they select very large test schedules, which means that testing takes too long," Cohen stated.

 Layer 8 in a box

Check out these other hot stories:

DARPA's massive cyber security project awards $56 million for research

NASA satellite to scan for signs of life from old Mars spacecraft

DARPA seeks radical ocean surveillance technology

NASA set to cryogenically freeze test critical satellite mirrors

Pi calculated to massive 2.7 trillion digits

NASA telescopes watch cosmic violence, mysteries unravel

NASA WISE telescope snaps first sea of stars

Satellite bumped out of formation to avoid potential collisions

NASA Kepler space telescope spies five hidden planets

DARPA kick-starts flying car program

NASA Mars rover Spirit has survivability option?

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Now read: Getting grounded in IoT