DAnTE: A Taxonomy for the Automation Degree of Software Engineering Tasks

  • Chapter
  • First Online:
Generative AI for Effective Software Development

Abstract

Software engineering researchers and practitioners have pursued manners to reduce the amount of time and effort required to develop code and increase productivity since the emergence of the discipline. Generative language models are another step in this journey, but it will probably not be the last one. In this chapter, we propose DAnTE, a Degree of Automation Taxonomy for software Engineering, describing several levels of automation based on the idiosyncrasies of the field. Based on the taxonomy, we evaluated several tools used in the past and in the present for software engineering practices. Then, we give particular attention to AI-based tools, including generative language models, discussing how they are located within the proposed taxonomy and reasoning about possible limitations they currently have. Based on this analysis, we discuss novel tools that could emerge in the middle and long term.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
EUR 29.95
Price includes VAT (Germany)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
EUR 96.29
Price includes VAT (Germany)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
EUR 128.39
Price includes VAT (Germany)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/features/copilot.

  2. 2.

    https://github.com/dependabot.

  3. 3.

    https://eslint.org/.

  4. 4.

    https://www.pylint.org/.

  5. 5.

    https://agentgpt.reworkd.ai/.

  6. 6.

    https://www.mendix.com/.

  7. 7.

    https://www.outsystems.com/.

References

  1. Ahmad, A., Waseem, M., Liang, P., Fahmideh, M., Aktar, M.S., Mikkonen, T.: Towards human-bot collaborative software architecting with ChatGPT. In: Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering, pp. 279–285. ACM, New York (2023). https://doi.org/10.1145/3593434.3593468

  2. Arcuri, A.: RESTful API automated test case generation. In: 2017 IEEE International Conference on Software Quality, Reliability and Security, pp. 9–20. IEEE, New York (2017)

    Google Scholar 

  3. Arcuri, A.: RESTful API automated test case generation with EvoMaster. ACM Trans. Softw. Eng. Methodol. (TOSEM) 28(1), 1–37 (2019)

    Google Scholar 

  4. Bosch, J., Olsson, H.H., Crnkovic, I.: It takes three to tango: requirement, outcome/data, and AI driven development. In: Software-intensive Business Workshop on Start-ups, Platforms and Ecosystems (SiBW 2018), pp. 177–192. CEUR-WS.org, Espoo (2018)

    Google Scholar 

  5. Braione, P., Denaro, G., Mattavelli, A., Pezzè, M.: Sushi: a test generator for programs with complex structured inputs. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceedings, pp. 21–24 (2018)

    Google Scholar 

  6. Cheon, Y., Leavens, G.T.: A simple and practical approach to unit testing: the JML and JUnit way. In: ECOOP 2002—Object-Oriented Programming: 16th European Conference Málaga, Spain, June 10–14 Proceedings, pp. 231–255. Springer, Berlin (2002)

    Google Scholar 

  7. Dallmeier, V., Pohl, B., Burger, M., Mirold, M., Zeller, A.: WebMate: web application test generation in the real world. In: 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops, pp. 413–418. IEEE, New York (2014)

    Google Scholar 

  8. Feldt, R., de Oliveira Neto, F.G., Torkar, R.: Ways of applying artificial intelligence in software engineering. In: Proceedings of the 6th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering, pp. 35–41. ACM, New York (2018). https://doi.org/10.1145/3194104.3194109

  9. Ferreira Campos, U., Smethurst, G., Moraes, J.P., Bonifacio, R., Pinto, G.: Mining rule violations in JavaScript code snippets. In: 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), pp. 195–199. IEEE, New York (2019). https://doi.org/10.1109/MSR.2019.00039

  10. Fraser, G., Arcuri, A.: EvoSuite: automatic test suite generation for object-oriented software. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, pp. 416–419 (2011)

    Google Scholar 

  11. Gori, M., Betti, A., Melacci, S.: Learning principles. In: Machine Learning, pp. 53–111. Elsevier, Amsterdam (2024). https://doi.org/10.1016/B978-0-32-389859-1.00009-X

  12. Taxonomy and definitions for terms related to driving automation systems for on-road motor vehicles. Standard, International Organization for Standardization, Geneva (2021)

    Google Scholar 

  13. Kracht, J.S., Petrovic, J.Z., Walcott-Justice, K.R.: Empirically evaluating the quality of automatically generated and manually written test suites. In: 2014 14th International Conference on Quality Software, pp. 256–265. IEEE, New York (2014)

    Google Scholar 

  14. Marinke, R., Guerra, E.M., Fagundes Silveira, F., Azevedo, R.M., Nascimento, W., de Almeida, R.S., Rodrigues Demboscki, B., da Silva, T.S.: Towards an extensible architecture for refactoring test code. In: Computational Science and Its Applications–ICCSA 2019: 19th International Conference, Saint Petersburg, Russia, July 1–4, 2019, Proceedings, Part IV 19, pp. 456–471. Springer, Berlin (2019)

    Google Scholar 

  15. McMinn, P.: Search-based software test data generation: a survey. Softw. Test. Verif. Reliab. 14(2), 105–156 (2004)

    Article  Google Scholar 

  16. Moradi Dakhel, A., Majdinasab, V., Nikanjam, A., Khomh, F., Desmarais, M.C., Jiang, Z.M.J.: GitHub Copilot AI pair programmer: Asset or Liability? J. Syst. Softw. 203, 111734 (2023). https://doi.org/10.1016/j.jss.2023.111734

    Article  Google Scholar 

  17. Murphy, G., Kersten, M., Findlater, L.: How are Java software developers using the Eclipse IDE? IEEE Softw. 23(4), 76–83 (2006). https://doi.org/10.1109/MS.2006.105

    Article  Google Scholar 

  18. Nguyen, N., Nadi, S.: An empirical evaluation of GitHub copilot’s code suggestions. In: Proceedings of the 19th International Conference on Mining Software Repositories, pp. 1–5. ACM, New York (2022). https://doi.org/10.1145/3524842.3528470

  19. Palomba, F., Zaidman, A., De Lucia, A.: Automatic test smell detection using information retrieval techniques. In: 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 311–322. IEEE, New York (2018)

    Google Scholar 

  20. Parsons, J., Wand, Y.: Using cognitive principles to guide classification in information systems modeling. MIS Q. 32(4), 839 (2008). https://doi.org/10.2307/25148874

    Article  Google Scholar 

  21. Peruma, A., Almalki, K., Newman, C.D., Mkaouer, M.W., Ouni, A., Palomba, F.: tsDetect: an open source test smells detection tool, pp. 1650–1654. ESEC/FSE 2020, Association for Computing Machinery, New York (2020). https://doi.org/10.1145/3368089.3417921

  22. Ralph, P.: Toward methodological guidelines for process theories and taxonomies in software engineering. IEEE Trans. Softw. Eng. 45(7), 712–735 (2019). https://doi.org/10.1109/TSE.2018.2796554

    Article  Google Scholar 

  23. Rokis, K., Kirikova, M.: Challenges of low-code/no-code software development: a literature review. In: Lecture Notes in Business Information Processing, vol. 462 LNBIP, pp. 3–17. Springer International Publishing, New York (2022). https://doi.org/10.1007/978-3-031-16947-2_1

  24. Sahay, A., Indamutsa, A., Di Ruscio, D., Pierantonio, A.: Supporting the understanding and comparison of low-code development platforms. In: 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 171–178. IEEE, New York (2020). https://doi.org/10.1109/SEAA51224.2020.00036

  25. Savary-Leblanc, M., Burgueño, L., Cabot, J., Le Pallec, X., Gérard, S.: Software assistants in software engineering: a systematic map** study. Softw. Pract. Experience 53(3), 856–892 (2023). https://doi.org/10.1002/spe.3170

    Article  Google Scholar 

  26. Shahid, M., Ibrahim, S.: An evaluation of test coverage tools in software testing. In: 2011 International Conference on Telecommunication Technology and Applications Proceedings of CSIT, vol. 5. sn (2011)

    Google Scholar 

  27. Shamshiri, S., Just, R., Rojas, J.M., Fraser, G., McMinn, P., Arcuri, A.: Do automatically generated unit tests find real faults? an empirical study of effectiveness and challenges (t). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 201–211. IEEE, New York (2015)

    Google Scholar 

  28. Shaw, M.: Prospects for an engineering discipline of software. IEEE Softw. 7(6), 15–24 (1990). https://doi.org/10.1109/52.60586. http://ieeexplore.ieee.org/document/60586/

  29. Sheridan, T.B., Parasuraman, R.: Human-automation interaction. Rev. Hum. Factors Ergon. 1(1), 89–129 (2005). https://doi.org/10.1518/155723405783703082

    Article  Google Scholar 

  30. Šmite, D., Wohlin, C., Galviņa, Z., Prikladnicki, R.: An empirically based terminology and taxonomy for global software engineering. Empir. Softw. Eng. 19, 105–153 (2014)

    Article  Google Scholar 

  31. Svyatkovskiy, A., Deng, S.K., Fu, S., Sundaresan, N.: IntelliCode compose: code generation using transformer. In: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1433–1443. ACM, New York (2020). https://doi.org/10.1145/3368089.3417058

  32. Tanimoto, S.L.: VIVA: a visual language for image processing. J. Vis. Lang. Comput. 1(2), 127–139 (1990). https://doi.org/10.1016/S1045-926X(05)80012-6

    Article  Google Scholar 

  33. Tanimoto, S.L.: A perspective on the evolution of live programming. In: 2013 1st International Workshop on Live Programming, LIVE 2013—Proceedings, pp. 31–34 (2013). https://doi.org/10.1109/LIVE.2013.6617346

  34. Teitelman, W., Masinter, L.: The Interlisp programming environment. Computer 14(4), 25–33 (1981). https://doi.org/10.1109/C-M.1981.220410

    Article  Google Scholar 

  35. Tomasdottir, K.F., Aniche, M., van Deursen, A.: Why and how JavaScript developers use linters. In: 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 578–589. IEEE, New York (2017). https://doi.org/10.1109/ASE.2017.8115668

  36. Usman, M., Britto, R., Börstler, J., Mendes, E.: Taxonomies in software engineering: a Systematic map** study and a revised taxonomy development method. Inf. Softw. Technol. 85, 43–59 (2017). https://doi.org/10.1016/j.infsof.2017.01.006

    Article  Google Scholar 

  37. Vaithilingam, P., Zhang, T., Glassman, E.L.: Expectation vs. experience: evaluating the usability of code generation tools powered by large language models. In: CHI Conference on Human Factors in Computing Systems Extended Abstracts, pp. 1–7. ACM, New York (2022). https://doi.org/10.1145/3491101.3519665

  38. Viglianisi, E., Dallago, M., Ceccato, M.: Resttestgen: Automated black-box testing of RESTful APIs. In: 2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST), pp. 142–152. IEEE, New York (2020)

    Google Scholar 

  39. Wheaton, G.R., Fleishman, E.A.: Development of a Taxonomy of Human Performance: A Review of Classificatory Systems Relating to Tasks and Performance. Clearinghouse, Mumbai (1968)

    Google Scholar 

  40. **ng, Z., Stroulia, E.: Refactoring practice: how it is and how it should be supported—an eclipse case study. In: IEEE International Conference on Software Maintenance (ICSM), pp. 458–467 (2006). https://doi.org/10.1109/ICSM.2006.52

  41. Xuan, J., Cornu, B., Martinez, M., Baudry, B., Seinturier, L., Monperrus, M.: B-refactoring: automatic test code refactoring to improve dynamic analysis. Inf. Softw. Technol. 76, 65–80 (2016)

    Article  Google Scholar 

  42. Yuan, Z., Lou, Y., Liu, M., Ding, S., Wang, K., Chen, Y., Peng, X.: No more manual tests? evaluating and improving ChatGPT for unit test generation. ar**v preprint ar**v:2305.04207 (2023)

    Google Scholar 

  43. Zanchin, B.C., Adamshuk, R., Santos, M.M., Collazos, K.S.: On the instrumentation and classification of autonomous cars. In: 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp. 2631–2636. IEEE, New York (2017). https://doi.org/10.1109/SMC.2017.8123022

  44. Zhang, B., Hill, E., Clause, J.: Automatically generating test templates from test names (n). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 506–511. IEEE, New York (2015)

    Google Scholar 

  45. Zhang, H., Wu, H., Rountev, A.: Automated test generation for detection of leaks in android applications. In: Proceedings of the 11th International Workshop on Automation of Software Test, pp. 64–70 (2016)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jorge Melegati .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Melegati, J., Guerra, E. (2024). DAnTE: A Taxonomy for the Automation Degree of Software Engineering Tasks. In: Nguyen-Duc, A., Abrahamsson, P., Khomh, F. (eds) Generative AI for Effective Software Development. Springer, Cham. https://doi.org/10.1007/978-3-031-55642-5_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-55642-5_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-55641-8

  • Online ISBN: 978-3-031-55642-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics

Navigation