skip to main content
10.1145/3548660.3561332acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

A pedagogical approach in interleaving software quality concerns at an artificial intelligence course

Published:09 November 2022Publication History

ABSTRACT

The software engineering industry is an everchanging domain requiring professionals to have a good knowledge base and adaptability skills.Artificial Intelligence (AI) has achieved substantial success in enhancing program analysis techniques and applications, including bug prediction. It is a promising direction by applying advanced Machine Learning techniques into suitable software engineering tasks.

The main goal of this paper is to propose a pedagogical interdisciplinary approach that pave the path for developing an e-learning platform serving to check the quality of the source code that students wrote by means of Artificial Intelligence techniques. By putting into practice this proposal, we are planning to show the students how to combine concepts learned from two different courses. The first step of this approach would be part of the Advanced Programming Methods, a Software Engineering related course, where students learn about the importance of writing good quality code and use software metrics as a mean of software quality assessment. Then, the following steps will be integrated into the Artificial Intelligence course, where students learn about different Machine Learning algorithms and how to apply them to solve practical problems. Thus, as an applicability in this respect, students use the metric values calculated for their projects developed at Advanced Programming Methods course as lab assignments and also to train (at Artificial Intelligence class) a bug detection model able to estimate the quality of new codebases.

The proposed approach is helpful for both students and teachers. On one side, it helps the students understand the importance of writing clean, high-quality code. And on the other side, it helps teachers in their evaluation process by giving them time to focus on different aspects of homework than the code quality.

References

  1. F.B. Abreu. 1993. Metrics for Object Oriented Environment. In Proceedings of the 3rd International Conference on Software Quality, Tahoe, Nevada, EUA, October 4th - 6th. 67––75. Google ScholarGoogle Scholar
  2. F.B. Abreu. 1995. The MOOD Metrics Set. In 9th European Conference on Object-Oriented Programming (ECOOP’95) Workshop Metrics. Google ScholarGoogle Scholar
  3. Pooja K. Agarwal and III Henry L. Roediger. 2018. Lessons for learning: How cognitive psychology informs classroom practice. Phi Delta Kappan, 100, 4 (2018). Google ScholarGoogle Scholar
  4. Mark Ardis, David Budgen, Gregory W. Hislop, Jeff Offutt, Mark Sebern, and Willem Visser. 2015. SE 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. Computer, 48, 11 (2015), 106–109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Grady Booch, Robert A Maksimchuk, Michael W Engle, Bobbi J Young, Jim Connallen, and Kelli A Houston. 2008. Object-oriented analysis and design with applications. ACM SIGSOFT software engineering notes, 33, 5 (2008), 29–29. Google ScholarGoogle Scholar
  6. L Cernău, L Dioșan, and C Șerban. 2022. A Hybrid Complexity Metric in Automatic Software Defects Prediction. In Proceedings of the 17th International Conference on Software Technologies. 433–440. Google ScholarGoogle ScholarCross RefCross Ref
  7. S. R. Chidamber and C. F. Kemerer. 1994. A Metrics Suite for Object-Oriented Design. IEEE Trans. Soft Ware Eng., 20, 6 (1994), 476–493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Linus Dietz, Robin Lichtenthaeler, Adam Tornhill, and Simon Harrer. 2019. Code Process Metrics in University Programming Education. Google ScholarGoogle Scholar
  9. Linus Dietz, Johannes Manner, Simon Harrer, and Jörg Lenhard. 2018. Teaching Clean Code. Google ScholarGoogle Scholar
  10. Rudolf Ferenc, Zoltán Tóth, Gergely Ladányi, István Siket, and Tibor Gyimóthy. 2018. A Public Unified Bug Dataset for Java. Association for Computing Machinery, New York, NY, USA. isbn:9781450365932 https://doi.org/10.1145/3273934.3273936 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Javed Ferzund, Syed Ahsan, and Franz Wotawa. 2008. Analysing Bug Prediction Capabilities of Static Code Metrics in Open Source Software. isbn:978-3-540-89402-5 https://doi.org/10.1007/978-3-540-89403-2_27 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Scott Freeman, Sarah L. Eddy, Miles McDonough, Michelle K. Smith, Nnadozie Okoroafor, Hannah Jordt, and Mary Pat Wenderoth. 2014. Active learning increases student performance in science, engineering, and mathematics. Proceedings of the National Academy of Sciences, 111, 23 (2014), 8410–8415. https://doi.org/10.1073/pnas.1319030111 arxiv:https://www.pnas.org/doi/pdf/10.1073/pnas.1319030111. Google ScholarGoogle ScholarCross RefCross Ref
  13. Lov Kumar, Santanu Rath, and Ashish Sureka. 2017. Using Source Code Metrics and Ensemble Methods for Fault Proneness Prediction. arxiv:1704.04383. Google ScholarGoogle Scholar
  14. W. Li and S. Henry. 1993. Maintenance Metrics for the Object Oriented Paradigm. IEEE Proc. First International Software Metrics Symp, 52–60. Google ScholarGoogle Scholar
  15. R. Marinescu. 2002. Measurement and Quality in Object Oriented Design. Ph. D. Dissertation. Faculty of Automatics and Computer Science, University of Timisoara. Google ScholarGoogle Scholar
  16. T.J. McCabe. 1976. A Complexity Measure. IEEE Transactions on Software Engineering, 2(4), 308–320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Higinio Mora, María Teresa Signes-Pont, Andrés Fuster-Guilló, and María L. Pertegal-Felices. 2020. A collaborative working model for enhancing the learning process of science & engineering students. Computers in Human Behavior, 103 (2020), 140–150. issn:0747-5632 https://doi.org/10.1016/j.chb.2019.09.008 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Higinio Mora, María Teresa Signes-Pont, Andrés Fuster-Guilló, and María L. Pertegal-Felices. 2020. A collaborative working model for enhancing the learning process of science and engineering students. Computers in Human Behavior, 103 (2020), 140–150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Serban and A. Vescan. 2019. Advances in designing a student-centered learning process using cutting-edge methods, tools, and artificial intelligence: an e-learning platform. In Proceedings of the 1st ACM SIGSOFT International Workshop on Education through Advanced Software Engineering and Artificial Intelligence. 39–45. Google ScholarGoogle Scholar
  20. Camelia Şerban, Andreea Vescan, and Horia F Pop. 2010. A conceptual framework for component-based system metrics definition. In 9th RoEduNet IEEE International Conference. 73–78. Google ScholarGoogle Scholar
  21. Vladimir Vapnik. 1999. The nature of statistical learning theory. Springer science & business media. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Arthur H. Watson and Thomas J. McCabe. 1996. Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric. In National Institute of Standards and Technology NIST Special Publication. 500–235. Google ScholarGoogle Scholar
  23. Y. Weinstein, C.R. Madan, and M. A. Sumeracki. 2018. Teaching the science of learning. Cogn. Research, 3, 2 (2018), 1–17. Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. A pedagogical approach in interleaving software quality concerns at an artificial intelligence course

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          EASEAI 2022: Proceedings of the 4th International Workshop on Education through Advanced Software Engineering and Artificial Intelligence
          November 2022
          44 pages
          ISBN:9781450394536
          DOI:10.1145/3548660

          Copyright © 2022 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 November 2022

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Upcoming Conference

          FSE '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader