Abstract
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.
Similar content being viewed by others
References
Adrion WR, Branstad MA, Cherniavsky JC (1982) Validation, verification and testing of computer software. ACM Comput Surv (CSUR) 14(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 Intelligence
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–594
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–706
Darwin C (1859) On the origin of species, Chapter IV
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–1178
El-Far KI, Whittaker JA (1994) Model-based software testing, Encyclopedia of software engineering. John Wiley and Sons
Flautner K, Patel DI (Sept. 2003) Intelligent energy management™ for portable embedded systems, SOC Conference, 2003.Proceedings. IEEE International [Systems-on-Chip], pp 415
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–1922
Gartner (2005) Forecast: mobile terminals, worldwide, 2000–2009
Hamlet D (1994) Random testing, Encyclopedia of software engineering. John Wiley and Sons
Koza J (1992) Genetic programming: on the programming of computers by means of natural selection, Chapter 9, MIT Press
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-8
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–229
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–13
Michael CC, McGraw G, Schatz MA (2001) Generating software test data by evolution. IEEE Trans Softw Eng 27(12):1085–1110
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–84
Piziali A (2004) Functional verification coverage measurements and analysis. Kluwer Academic Publishers
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–223
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–466
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–1285
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 Netherlands
Sanchez E, Schillaci M, Squillero G (2010) Evolutionary optimization: the μGP toolkit, Approx. p 250, Hardcover ISBN: 978-0-387-09425-0
SourceForge, host of ugp3, http://sourceforge.net/projects/ugp3/
Squillero G (2005) MicroGP - an evolutionary assembly program generator. Genet Program Evolvable Mach 6(3):247–263
Acknowledgments
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible Editor: B. Al-Hashimi
Rights and permissions
About this article
Cite this article
Gandini, S., Ruzzarin, W., Sanchez, E. et al. A Framework for Automated Detection of Power-related Software Errors in Industrial Verification Processes. J Electron Test 26, 689–697 (2010). https://doi.org/10.1007/s10836-010-5184-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-010-5184-5