Technology >>

Automate your testing using Bacteriological Algorithms

I don't know anyone who likes writing test units for their software. This kind of pragmatic self-defense technique is a necessary evil these days, with increasingly tight timeframes, ten different levels of the software stack to interact with, and seemingly-brittle libraries being called at every juncture. Like incinerating and burning your cutting board after preparing chicken, lest you get the plague, writing tests is a big time sink, but you gotta do it. However, a new form of artificial intelligence research might soon make the whole process much easier. Read on past the jump for more information.

Bacteriological Algorithms are a fairly new branch of Genetic Algorithms research which provides an unusual twist. Genetic Algorithms find the best candidate for a given criteria; Bacteriological Algorithms figure out how good your criteria is at matching a given set of candidates. This makes them perfect to check the work of humans, such as unit tests for software. (See how I tied it all together there?)

In traditional Genetic Algorithms (GAs), a series of populations (of computer code usually) are compared against a fitness function. After each test, a number of derivatives are created by making random mutations. Each of these are compared to the same fitness function, and variations that "score" better are retained to be mutated again. After enough generations of development, a highly efficient set of computer code should remain. Either that, or your server will catch fire.

Bacteriological Algorithms (BAs) turn that concept on its head: instead of checking how each member of a population performs against a given fitness function, let's try to determine the fitness function's quality by measuring against the population. In the case of software test unit testing, random code is introduced into the functions being tested. Boolean logic might be inverted, constant and literal values might be dramatically slashed, etc. If a test case does not <i>fail</i> for a large subset of these mutations, then the test case is flagged as needing improvement.

Read the original research paper about bacterialogical algorithms [PDF] to learn more. 

52 comments

There are 1 comments about this post:

http://overseas-pharmacys.info/pharma.jpg
omron automatic blood pressure cuff Duphalac medical diploma course in university http://international-pharmacys.info/product/keflex.html battle of blood marsh Purchase Valtrex health care best hawaii http://overseas-pharmacys.info/product/myambutol.html postal employees safety enhancement act of 1998 Cialis Super Active asthma management in greek language http://international-pharmacys.info/catalogue/c.html hepatitus c kidney Order Imdur par medical personnel http://overseas-pharmacys.info/product/ed-discount-pack-1.html ethical issues and drug development Discount Zyrtec miracle mineral supplement blog http://royaldrugstore.info/product/sildenafil-kamagra.html

 



Hint: You can signup for an account or login to your account to make your life easier.