Understanding semantic style by analysing student code

Understanding semantic style by analysing student code
复制标题

通过分析学生代码了解语义风格

DOI:
--
复制
发表时间:
2018
期刊:
IFAC Symposium on Advances in Control Education
影响因子:
--
通讯作者:
Nasser Giacaman
Nasser Giacaman
中科院分区:
--
文献类型:
--
作者:
G. D. Ruvo;E. Tempero;Andrew Luxton;G. Rowe;Nasser Giacaman

文献摘要

参考文献

被引文献

相似文献

良好的编码风格被软件工程专业人士认为是重要的,这在标准的计算课程中得到了反映。关于编码风格某些方面的反馈现在通常由IDE和Checkstyle等工具提供,但这种反馈主要集中在主要基于语法的编码标准上。然而,编码风格的某些方面与代码的语义相关-在实现某些功能的许多方法中,有些方法是首选的,因为它们更简单,但学生们很难创建它们。在本文中,我们引入了语义样式的概念,特别是语义样式指示符,它可能是对某些编程概念了解不足的表现。我们描述了16个语义风格指标,并在900多名新手提交的近19,000个代码样本中展示了它们的流行度。一半的学生提交了显示两个或更多这些指标的代码,展示了通过提供关于语义风格的反馈来学习的潜在价值。我们还发现,在参加竞争激烈的软件工程课程四年级的学生的代码中,有许多指标,表明需要更多地关注语义风格问题的教学。
Good coding style is recognised by the software engineering profession as being important, and this is reflected in the standard computing curricula. Feedback on some aspects of coding style is now commonly provided by IDEs and by tools such as Checkstyle, but this feedback focuses on coding standards that are largely based on syntax. However, some aspects of coding style relate to the semantics of code --- of the many ways to achieve some functionality, some are preferred because they are simpler, yet students struggle to create them. In this paper, we introduce the concept of semantic style, and in particular semantic style indicators that may be manifestations of poor knowledge of some programming concepts. We describe 16 semantic style indicators and demonstrate their prevalence in almost 19,000 code samples submitted by over 900 novice students. Half the students submitted code exhibiting two or more of these indicators, demonstrating the potential value to learn by providing feedback on semantic style. We also find many indicators are present in the code of students attending their fourth year of a highly competitive Software Engineering programme, demonstrating the need for more attention to teaching of semantic style issues.
DOI: 10.1145/2629648
发表时间: 2014-08-01
影响因子: 4.4
作者:
Hall, Tracy;Zhang, Min;Sun, Yi
通讯作者: Sun, Yi