Journal of Electronic Testing

, Volume 26, Issue 6, pp 689–697 | Cite as

A Framework for Automated Detection of Power-related Software Errors in Industrial Verification Processes

  • Stefano Gandini
  • Walter Ruzzarin
  • Ernesto Sanchez
  • Giovanni Squillero
  • Alberto Tonda


The complexity of cell phones is continually increasing, with regards to both hardware and software parts. As many complex devices, their components are usually designed and verified separately by specialized teams of engineers and programmers. However, even if each isolated part is working flawlessly, it often happens that bugs in one software application arise due to the interaction with other modules. Those software misbehaviors become particularly critical when they affect the residual battery life, causing power dissipation. An automatic approach to detect power-affecting software defects is proposed. The approach is intended to be part of a qualifying verification plan and complete human expertise. Motorola, always at the forefront of researching innovations in the product development chain, experimented the approach on a mobile phone prototype during a partnership with Politecnico di Torino. Software errors unrevealed by all human-designed tests have been detected by the proposed framework, two out of three critical from the power consumption point of view, thus enabling Motorola to further improve its verification plans. Details of the tests and experimental results are presented.


Diagnostics Evolutionary algorithms Mobile phones Power consumption Software testing Testing tools 



Our thanks to Simone Loiacono, Alessio Moscatello, Alessandro Salomone and Massimiliano Schillaci for the invaluable advice and the development of constraints files and hardware involved in the experiments.


  1. 1.
    Adrion WR, Branstad MA, Cherniavsky JC (1982) Validation, verification and testing of computer software. ACM Comput Surv (CSUR) 14(2)Google Scholar
  2. 2.
    Brause R, Langsdorf T, Hepp M (1999) Neural data mining for credit card fraud detection, ICTAI, pp 103, 11th IEEE International Conference on Tools with Artificial IntelligenceGoogle Scholar
  3. 3.
    Cinque M, Cotroneo D, Kalbarczyk Z, Iyer RK (June, 2007) How do mobile phones fail? A failure data analysis of symbian OS smart phones. In: Dependable systems and networks, 2007. DSN ‘07. 37th Annual IEEE/IFIP International Conference on, pp 585–594Google Scholar
  4. 4.
    Corno F, Sanchez E, Squillero G (2005) Evolving assembly programs: how games help microprocessor validation. IEEE Transactions on Evolutionary Computation, Special Issue on EC and Games 9:695–706Google Scholar
  5. 5.
    Darwin C (1859) On the origin of species, Chapter IVGoogle Scholar
  6. 6.
    D’Silva V, Kroening D, Weissenbacher G (2008) A survey of automated techniques for formal software verification. IEEE Trans Comput-Aided Des Integr Circuits Syst 27(7):1165–1178CrossRefGoogle Scholar
  7. 7.
    El-Far KI, Whittaker JA (1994) Model-based software testing, Encyclopedia of software engineering. John Wiley and SonsGoogle Scholar
  8. 8.
    Flautner K, Patel DI (Sept. 2003) Intelligent energy management™ for portable embedded systems, SOC Conference, 2003.Proceedings. IEEE International [Systems-on-Chip], pp 415Google Scholar
  9. 9.
    Gandini S, Ravotto D, Ruzzarin W, Sanchez E, Squillero G, Tonda A (2009) Automatic detection of software defects: an industrial experience. In Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation (Montreal, Québec, Canada, July 08–12, 2009). GECCO ‘09. ACM, New York, NY, pp 1921–1922Google Scholar
  10. 10.
    Gartner (2005) Forecast: mobile terminals, worldwide, 2000–2009Google Scholar
  11. 11.
    Hamlet D (1994) Random testing, Encyclopedia of software engineering. John Wiley and SonsGoogle Scholar
  12. 12.
  13. 13.
    Koza J (1992) Genetic programming: on the programming of computers by means of natural selection, Chapter 9, MIT PressGoogle Scholar
  14. 14.
    Koza JR, Keane MA, Streeter MJ, Mydlowec W, Yu J, Lanza G (2003) Genetic programming IV: routine human-competitive machine intelligence, Springer. ISBN 1-4020-7446-8Google Scholar
  15. 15.
    Krintz C, Ye Wen, Wolski R (Aug. 2004) Application-level prediction of battery dissipation, low power electronics and design, 2004. ISLPED ‘04. Proceedings of the 2004 International Symposium on, pp 224–229Google Scholar
  16. 16.
    Lindsay W, Sanchez E, Sonza Reorda M, Squillero G. Automatic test programs generation driven by internal performance counters, MTV‘04: 5th International Workshop on Microprocessor Test and Verification, pp 8–13Google Scholar
  17. 17.
    Michael CC, McGraw G, Schatz MA (2001) Generating software test data by evolution. IEEE Trans Softw Eng 27(12):1085–1110CrossRefGoogle Scholar
  18. 18.
    Pacheco C, Lahiri SK, Ernst MD, Ball T (2007) Feedback-directed random test generation, Proceedings of the 29th international conference on Software Engineering, pp 75–84Google Scholar
  19. 19.
    Piziali A (2004) Functional verification coverage measurements and analysis. Kluwer Academic PublishersGoogle Scholar
  20. 20.
    Ravotto D, Sanchez E, Schillaci M, Squillero G (March 26–28, 2008) An evolutionary methodology for test generation for DPeripheral cores via dynamic FSM extraction, 4th European Workshop on Bio-Inspired Heuristics for Design Automation (EvoHOT2008), Napoli, Italy, pp 214–223Google Scholar
  21. 21.
    Robion A, Sadarnac D, Lanzetta F, Marquet D, Rivera T (Sept.–Oct. 2007) Breakthrough in energy generation for mobile or portable devices, Telecommunications Energy Conference, 2007. INTELEC 2007. 29th International, pp 460–466Google Scholar
  22. 22.
    Saab DG, Saab Y, Abraham JA (1996) Automatic test vector cultivation for sequential VLSI circuits using genetic algorithms. IEEE Trans Comput-Aided Des Integr Circuits Syst 15(10):1278–1285CrossRefGoogle Scholar
  23. 23.
    Sanchez E, Squillero G, Sonza Reorda M (2006) Efficient techniques for automatic verification-oriented test set optimization. Int J Parallel Program 34(1):93–109, Ed. Springer NetherlandsMATHCrossRefGoogle Scholar
  24. 24.
    Sanchez E, Schillaci M, Squillero G (2010) Evolutionary optimization: the μGP toolkit, Approx. p 250, Hardcover ISBN: 978-0-387-09425-0Google Scholar
  25. 25.
    SourceForge, host of ugp3,
  26. 26.
    Squillero G (2005) MicroGP - an evolutionary assembly program generator. Genet Program Evolvable Mach 6(3):247–263CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Stefano Gandini
    • 1
  • Walter Ruzzarin
    • 1
  • Ernesto Sanchez
    • 2
  • Giovanni Squillero
    • 2
  • Alberto Tonda
    • 2
  1. 1.Motorola ItaliaMilanItaly
  2. 2.Politecnico di TorinoTorinoItaly

Personalised recommendations