January: A Parallel Algorithm for Bug Hunting Based on Insect Behavior

  • Peter Lamborn
  • Michael Jones
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4193)


January is a group of interacting stateless model checkers designed for bug hunting in large transition graphs that represent the behavior of a program or protocol. January is based upon both individual and social insect behaviors, as such, dynamic solutions emerge from agents functioning with incomplete data. Each agent functions on a processor located on a network of workstations (NOW). The agents’ search pattern is a semi-random walk based on the behavior of the grey field slug (Agriolimax reticulatus), the house fly (Musca domestica), and the black ant (Lassius niger). January requires significantly less memory to detect bugs than the usual parallel approach to model checking. In some cases, January finds bugs using 1% of the memory needed by the usual algorithm to find a bug. January also requires less communication which saves time and bandwidth.


Model Check Transition Graph Processing Node Negative Reinforcement Musca Domestica 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    MPICH 1.2.5. Mpich 1.2.5 (1993),
  2. 2.
    Baker, R.R.: The Evolutionary Ecology of Animal Migration. Hodder and Stoughton, London (1978)Google Scholar
  3. 3.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  4. 4.
    Dorigo, M., Stutzle, T.: Ant Colony Optimization, 1st edn. Bradford Books, MIT Press (2004)Google Scholar
  5. 5.
    Jones, M.D., Mercer, E.: Explicit state model checking with Hopper. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 146–150. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Jones, M.D., Sorber, J.: Parallel search for LTL violations. Software Tools for Technology Transfer 7(1), 31–42 (2005)CrossRefGoogle Scholar
  7. 7.
    Sivaraj, H., Gopalakrishnan, G.: Random walk based heuristic algorithms for distributed memory model checking. In: Proceedings of Workshop on Parallel and Distributed Model Checking 2003 (2003)Google Scholar
  8. 8.
    Stern, U., Dill, D.L.: Parallelizing the Murφ verifier. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 256–267. Springer, Heidelberg (1997)Google Scholar
  9. 9.
    Wagner, I.A., Lindenbaum, M., Bruckstein, A.M.: Robotic exploration, brownian motion and electrical resistance. In: Randomization and Approximation Techniques in Computer Science, pp. 116–130 (1998)Google Scholar
  10. 10.
    Weeks Jr., R.D.: Chemical ecology in the red imported fire ant (Solenopsis invicta buren) (hymenoptera: Formicidae). Technical report, Colorado State University, Fort Collins, CO 80523 (1998)Google Scholar
  11. 11.
    West, C.: Protocol validation in complex systems. In: Symposium Proceedings on Communications Architecture and Protocols, pp. 303–312 (1989)Google Scholar
  12. 12.
    White, J., Tokbin, T.R., Bell, W.J.: Local search in the housefly, musca domestica after feeding on sucrose. J. Insect Physiol., 477–88 (1984)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Peter Lamborn
    • 1
  • Michael Jones
    • 2
  1. 1.Mississippi State University 
  2. 2.Brigham Young University 

Personalised recommendations