Skip to main content

NLP-Based Test Co-evolution Prediction for IoT Application Maintenance

  • Conference paper
  • First Online:
Green, Pervasive, and Cloud Computing (GPC 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14504))

Included in the following conference series:

  • 96 Accesses

Abstract

The increasing deployment of the Internet of Things (IoT) leads to the diversified development of IoT-based applications. However, due to the fast updates and the growing scale of IoT applications, IoT developers mainly focus on the production code but overlook the co-evolution of the corresponding test code. To facilitate the maintenance of IoT applications, this paper proposes an NLP-based approach to predict whether the test code needs to be co-changed when its production code is updated. We collected data from the most popular projects on GitHub (top 1,000 with the highest stars). Three neural encoders were employed to capture semantic features of commit messages, production code changes, and related test code. We then generated our training samples, in which the features of each sample consist of < Commit Message, Production Code Change, Test Unit Code >. Finally, a neural network model was built by learning the correlations among these features to determine the possibility of test co-evolution. We evaluated the effectiveness of our NLP-based approach on 15 widely used Python projects in the IoT domain. The evaluation result shows that the prediction accuracy of our model achieves 93%, highlighting the practical significance of our approach in the maintenance of IoT applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Kour, V.P., Arora, S.: Recent developments of the internet of things in agriculture: a survey. IEEE Access 8, 129924–129957 (2020)

    Article  Google Scholar 

  2. Dang, L.M., Piran, M.J., Han, D., et al.: A survey on internet of things and cloud computing for healthcare. Electronics 8(7), 768 (2019)

    Article  Google Scholar 

  3. Zhou, I., Makhdoom, I., Shariati, N., et al.: Internet of things 2.0: concepts, applications, and future directions. IEEE Access 9, 70961–71012 (2021)

    Google Scholar 

  4. Kouicem, D.E., Bouabdallah, A., Lakhlef, H.: Internet of things security: a top-down survey. Comput. Netw. 141, 199–221 (2018)

    Article  Google Scholar 

  5. Atlam, H.F., Wills, G.B.: IoT security, privacy, safety and ethics. Digit. Twin Technol. Smart Cities, 123–149 (2020)

    Google Scholar 

  6. Taivalsaari, A., Mikkonen, T.: On the development of IoT systems. In: 2018 Third International Conference on Fog and Mobile Edge Computing (FMEC), pp. 13–19. IEEE (2018)

    Google Scholar 

  7. Taivalsaari, A., Mikkonen, T.: A taxonomy of IoT client architectures. IEEE Softw. 35(3), 83–88 (2018)

    Article  Google Scholar 

  8. Chen, T.Y., Cheung, S.C., You, S.M.: Metamorphic testing: a new approach for generating next test cases. arXiv Preprint arXiv:2002.12543 (2020)

  9. Li, W., Le Gall, F., Spaseski, N.: A survey on model-based testing tools for test case generation. In: Itsykson, V., Scedrov, A., Zakharov, V. (eds.) TMPA 2017. CCIS, vol. 779, pp. 77–89. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-71734-0_7

    Chapter  Google Scholar 

  10. Palomba, F., Panichella, A., Zaidman, A., et al.: Automatic test case generation: what if test code quality matters?. In: The 25th International Symposium on Software Testing and Analysis, pp. 130–141 (2016)

    Google Scholar 

  11. Lyu, H., Sha, N., Qin, S., et al.: Advances in neural information processing systems. In: Advances in Neural Information Processing Systems, vol. 32 (2019)

    Google Scholar 

  12. Taud, H., Mas, J.F.: Multilayer perceptron (MLP). Geomatic Approach. Model. Land Change Scenarios, 451–455 (2018)

    Google Scholar 

  13. Noor, T.B., Hemmati, H.: Studying test case failure prediction for test case prioritization. In: The 13th International Conference on Predictive Models and Data Analytics in Software Engineering, pp. 2–11 (2017)

    Google Scholar 

  14. Paterson, D., Campos, J., Abreu, R., et al.: An empirical study on the use of defect prediction for test case prioritization. In: 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST), pp. 346–357. IEEE (2019)

    Google Scholar 

  15. Shao, Y., Liu, B., Wang, S., et al.: A novel test case prioritization method based on problems of numerical software code statement defect prediction. Eksploatacja i Niezawodność 22(3) (2020)

    Google Scholar 

  16. Kraut, R.E., Streeter, L.A.: Coordination in software development. Commun. ACM 38(3), 69–82 (1995)

    Article  Google Scholar 

  17. Jiang, Y., Adams, B.: Co-evolution of infrastructure and source code-an empirical study. In: 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, pp. 45–55. IEEE (2015)

    Google Scholar 

  18. Eilertsen, A.M., Bagge, A.H.: Exploring API: client co-evolution. In: The 2nd International Workshop on API Usage and Evolution, pp. 10–13 (2018)

    Google Scholar 

  19. Um, S.Y., Yoo, Y.: The co-evolution of digital ecosystems (2016)

    Google Scholar 

  20. Zaidman, A., Rompaey, B.V., Deursen, A.V., et al.: Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining. Empir. Softw. Eng. 16(3), 325–364 (2011). https://doi.org/10.1007/s10664-010-9143-7

  21. Lubsen, Z.A.: Studying Co-evolution of production and test code using association rule mining. Delft Univ. Technol. Softw. Eng. Res. Group (2008). ISSN 1872-5392

    Google Scholar 

  22. Lubsen, Z., Zaidman, A., Pinzger, M.: Using association rules to study the co-evolution of production & test code. In: IEEE International Working Conference on Mining Software Repositories. IEEE (2009). https://doi.org/10.1109/MSR.2009.5069493

  23. Zaidman, A., Rompaey, B.V., Demeyer, D.S.: Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining. Empir. Softw. Eng. (2011). https://doi.org/10.1007/s10664-010-9143-7

  24. Ploennigs, J., Cohn, J., Stanford-Clark, A.: The future of IoT. IEEE Internet Things Mag. 1(1), 28–33 (2018)

    Article  Google Scholar 

  25. Lee, S.K., Bae, M., Kim, H.: Future of IoT networks: a survey. Appl. Sci. 7(10), 1072 (2017)

    Article  Google Scholar 

  26. Zaidman, A., Rompaey, B.V., Demeyer, S., et al.: Mining software repositories to study co-evolution of production & test code. In: 2008 1st International Conference on Software Testing, Verification, and Validation. IEEE (2008). https://doi.org/10.1109/ICST.2008.47

  27. Marsavina, C., Romano, D., Zaidman, A.: Studying fine-grained co-evolution patterns of production and test code. In: 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation, pp. 195–204. IEEE (2014)

    Google Scholar 

  28. Wang, S., Wen, M., Liu, Y., et al.: Understanding and facilitating the co-evolution of production and test code. In: 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 272–283. IEEE (2021)

    Google Scholar 

  29. Vidács, L., Pinzger, M.: Co-evolution analysis of production and test code by learning association rules of changes. In: 2018 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE), pp. 31–36. IEEE (2018)

    Google Scholar 

  30. Shimmi, S., Rahimi, M.: Patterns of code-to-test co-evolution for automated test suite maintenance. In: 2022 IEEE Conference on Software Testing, Verification and Validation (ICST), pp. 116–127. IEEE (2022)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yuyong Liu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Liu, Y., Chen, Z. (2024). NLP-Based Test Co-evolution Prediction for IoT Application Maintenance. In: Jin, H., Yu, Z., Yu, C., Zhou, X., Lu, Z., Song, X. (eds) Green, Pervasive, and Cloud Computing. GPC 2023. Lecture Notes in Computer Science, vol 14504. Springer, Singapore. https://doi.org/10.1007/978-981-99-9896-8_11

Download citation

  • DOI: https://doi.org/10.1007/978-981-99-9896-8_11

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-99-9895-1

  • Online ISBN: 978-981-99-9896-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics