Abstract
The energy consumption of computer systems has become an important economic and environmental issue. Many researchers have focused on the energy consumption of hardware, but what about the software? Software energy consumption is widely adopted for Green computation of practical experimentation in research laboratories. But current researchers fail to build a consistent concept base for software energy consumption of critical applications. While branch coverage and concolic testing are very critical practices to validate the safety critical systems, very little effort is given to measure their energy consumption. The computation of the energy consumption of these techniques is an important issue in Green IT and Green Software Engineering. The contribution of this paper is to automate the computation and analysis of the energy consumption of the testing technique while enhancing the branch coverage using concolic testing. We implement our proposed automation framework in a tool, named Green Analysis of Branch Coverage Enhancement. The empirical study with forty Java programs and the evaluation results show that our developed tool achieves an average increase of 13.5 % in branch coverage. The average energy consumption of our automated tool is approximately 5.6 kJ to compute the branch coverage for all the forty experimental programs.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Amsel, N.; Tomlinson, B.: Green tracker: a tool for estimating the energy consumption of software. In: Proceedings of the 28th International Conference on Human Factors in Computing Systems, CHI, pp. 3337–3342, Atlanta, Georgia, April 10–15 (2010)
Li, D.; Sahin, C.; Clause, J.; Halfond, W.G.J.: Energy-directed test suite optimization. In: 2nd International Workshop on Green and Sustainable Software (GREENS), pp. 62–69, New York, USA, May (2013)
Kan, E.Y.Y.; Chan, W.K.; Tse, T.H.: EClass: an execution classification approach to improving the energy-efficiency of software via machine learning. J. Syst. Softw. 85(4), 960–973 (2012)
Kim, M.; Kim, Y.; Choi, Y.: Concolic testing of the multi-sector read operation for flash storage platform software. Form. Asp. Comput. 24(3) (2012)
Sen, K.; Agha, G.: CUTE and JCUTE: concolic unit testing and explicit path model-checking tools (Tools Paper). DTIC Document (2006)
Majumder, R.; Sen, K.: Hybrid concolic testing. In: Proceedings of the 29th International Conference on Software Engineering, IEEE Computer Society, Washington, DC, USA, pp. 416–426 (2007)
Burnim, J.; Sen, K.: Heuristics for scalable dynamic test generation. In: Proceedings of ASE, pp. 443–446, Washington, DC, USA (2008)
RTCA, Inc.: RTCA/DO-178B, Software Considerations in Airborne Systems and Equipment Certification, Washington, D.C. December (1992)
Kern, E.; Dick, M.; Naumann, S.; Guldner, A.; Johann, T.: Green software and green software engineering–definitions, measurements, and quality aspects. In: Proceedings of ICT4S, ETH Zurich, pp. 87–94, February 14–16 (2013)
Godboley, S.; Sahani, A.; Mohapatra, D.P.: ABCE: a novel framework for improved branch coverage analysis. In: SCSE, Procedia Computer Science, Elsevier, University of California, Berkley, USA 62, 266–273 (2015)
Godboley, S.; Prashanth, G.S.; Mohapatra, D.P.; Majhi, B.: Increase in modified condition/decision coverage using program code transformer. In: IEEE 3rd International Advance Computing Conference (IACC), pp. 1400–1407, Feb (2013)
Sen, K.: Automated test generation using concolic testing. ISEC, Bangalore, India, p. 9, February 18–20 (2015)
Liu, C.L.; Mohapatra, D.P.: Elements of Discrete Mathematics: A Computer Oriented Approach, 3rd edn. Tata McGraw-Hill Education, New York (2013)
Dick, M.; Kern, E.; Drangmeister, J.; Naumann, S.; Johann, T.: Measurement and rating of software induced energy consumption of desktop PCs and servers. In: EnviroInfo 2011: Innovations in Sharing Environmental Observations and Information, Shaker Verlag Aachen (2011)
Chen, F.; Grundy, J.; Schneider, J.G.; Yang, Y.; He, Q.: Automated analysis of performance and energy consumption for cloud applications. In: Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering, ACM, pp. 39–50, Dublin, Ireland (2014)
Capra, E.; Francalanci, C.; Slaughter, S.A.: Measuring Application Software Energy Efficiency. IT Prof. 14(2), 54–61 (2012)
Brown, D.J.; Reams, C.: Toward energy-efficient computing. Commun. ACM 53(3), 50–58 (2010)
Saxe, E.: Power-efficient software. Commun. ACM 53(2), 44–48 (2010)
Das, A.; Mall, R.: Automatic generation of MC/DC test data. In: Proceeding of International Journal of Software Engineering, Acta Press 2,(1) (2013)
Godboley, S.; Prashanth, G.S.; Mohapatra, D.P.; Majhi, B.: Enhanced modified condition/decision coverage using exclusive-NOR code transformer. In: 2013 International Multi-Conference on Automation, Computing, Communication, Control and Compressed Sensing (iMac4s), pp. 524-531, March (2013)
Godboley, S.; Panda, S.; Mohapatra, D.P.: SMCDCT: a framework for automated MC/DC test case generation using distributed concolic testing. In: International Conference on Distributed Computing and Internet Technology, LNCS, Springer, KIIT Bhhubneshwar, India 8956, 199–202 (2015)
Sarkar, S.; Mitra, S.: A profile guided approach to optimize branch divergence while transforming applications for GPUs. ISEC, Bangalore, India, pp. 176–185, February 18–20 (2015)
Benedict, S.: Threshold acceptance algorithm based energy tuning of scientific applications using energy analyzer. ISEC, Chennai, India, pp. 11:1–11:6, February 19–21 (2014)
Hassine, J.; Alkrarha, O.: A mutation-based approach for testing AsmetaL specifications. Arab. J. Sci. Eng. 40(12), 3523–3544 (2015)
Mao, C.: Generating test data for software structural testing based on particle swarm optimization. Arab. J. Sci. Eng. 39(6), 4593–4607 (2014)
Varshney, S.; Mehrotra, M.: Search-based test data generator for data-flow dependencies using dominance concepts, branch distance and elitism. Arab. J. Sci. Eng. 41(3), 853–881 (2015)
Khan, Y.; Mahmood, S.: Generating UML sequence diagrams from use case maps: a model transformation approach. Arab. J. Sci. Eng. 41(3), 965–986 (2015)
Bokil, P.; Darke, P.; Shrotri, U.; Venkatesh, R.: Automatic test data generation for C programs. In: 3rd IEEE International Conference on Secure Software Integration and Reliability Improvement (2009)
Kim, M.; Kim, Y.; Jang, Y.: Industrial application of concolic testing on embedded software: Case studies. In: IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST), pp. 390–399 (2012)
Kim, Y.; Kim, Y.; Kim, T.; Lee, G.; Jang, Y.; Kim, M.: Automated unit testing of large industrial embedded software using concolic testing. In: IEEE/ACM 28th International Conference on Automated Software Engineering (ASE), pp. 519–528, Nov (2013)
Kim, M.; Kim, Y.; Rothermel, G.: A scalable distributed concolic testing approach: an empirical evaluation. In: IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST), pp. 340-349, April (2012)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Godboley, S., Panda, S., Dutta, A. et al. An Automated Analysis of the Branch Coverage and Energy Consumption Using Concolic Testing. Arab J Sci Eng 42, 619–637 (2017). https://doi.org/10.1007/s13369-016-2284-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-016-2284-2