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.
- 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 Scholar
- F.B. Abreu. 1995. The MOOD Metrics Set. In 9th European Conference on Object-Oriented Programming (ECOOP’95) Workshop Metrics. Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Linus Dietz, Robin Lichtenthaeler, Adam Tornhill, and Simon Harrer. 2019. Code Process Metrics in University Programming Education. Google Scholar
- Linus Dietz, Johannes Manner, Simon Harrer, and Jörg Lenhard. 2018. Teaching Clean Code. Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Lov Kumar, Santanu Rath, and Ashish Sureka. 2017. Using Source Code Metrics and Ensemble Methods for Fault Proneness Prediction. arxiv:1704.04383. Google Scholar
- W. Li and S. Henry. 1993. Maintenance Metrics for the Object Oriented Paradigm. IEEE Proc. First International Software Metrics Symp, 52–60. Google Scholar
- R. Marinescu. 2002. Measurement and Quality in Object Oriented Design. Ph. D. Dissertation. Faculty of Automatics and Computer Science, University of Timisoara. Google Scholar
- T.J. McCabe. 1976. A Complexity Measure. IEEE Transactions on Software Engineering, 2(4), 308–320. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Vladimir Vapnik. 1999. The nature of statistical learning theory. Springer science & business media. Google ScholarDigital Library
- 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 Scholar
- Y. Weinstein, C.R. Madan, and M. A. Sumeracki. 2018. Teaching the science of learning. Cogn. Research, 3, 2 (2018), 1–17. Google ScholarCross Ref
Index Terms
- A pedagogical approach in interleaving software quality concerns at an artificial intelligence course
Recommendations
Evaluating Code Improvements in Software Quality Course Projects
EASE '22: Proceedings of the 26th International Conference on Evaluation and Assessment in Software EngineeringSoftware quality sits at the core of software engineering as a discipline. Yet, although each university software-engineering and the software-development course covers software quality to some extent, practitioners still lament on graduates’ readiness ...
Modern software cybernetics
Classify software cybernetics as Software Cybernetics I and II.Identify the transition from Software Cybernetics I to Software Cybernetics II.Indicate that some new research areas are related to Software Cybernetics II.Highlight new research trends of ...
Comments