In order to help programming novices locate programming errors and understand error cause, and to achieve accurate classification of programming errors, an error classification method based on deep learning networks h...
详细信息
In this study, we developed a classification system of programming errors based on the historical data of 680,540 programming records collected on the Online Judge platform. The classification system described six typ...
详细信息
In this study, we developed a classification system of programming errors based on the historical data of 680,540 programming records collected on the Online Judge platform. The classification system described six types of programming errors (i.e., syntax, logical, type, writing, misunderstanding, and runtime errors) and their connections with fundamental programming knowledge. Furthermore, we used ontology-based learner modeling techniques to create student ontology, which provided an accurate representation of a student's information (e.g., knowledge level, programming history, and performance) and the mechanisms for tracking its continuous changes. We also designed problem ontology, providing a uniform approach to describe the characteristics of a programming problem. The instances of student and problem ontologies were visualized as knowledge graphs. Based on the classification system of programming errors and knowledge graphs, we designed an automated system for assigning programming tasks to students. We tested the effectiveness of the automated task assignment system using a quasi-experimental design. Students in the control group were asked to solve programming tasks assigned by their teacher throughout eight weeks. In the experimental group, students accomplished programming tasks assigned by the system. We found no significant difference in student performance between the two groups. This study has significant methodological and practical implications.
Software reliability is an important feature of a good software implementation. However some faults which cause software unreliability are not detected during the development stages, and these faults create unexpected...
详细信息
Software reliability is an important feature of a good software implementation. However some faults which cause software unreliability are not detected during the development stages, and these faults create unexpected problems for users whenever they arise. At present most of the current techniques detect faults while a software is running. These techniques interrupt the software process when a fault occurs, and require some forms of restart. In this paper Precompiled Fault Detection (PFD) technique is proposed to detect and correct faults before a source code is compiled. The objective of the PFD technique is to increase software reliability without increasing the programmers' responsibilities. The concepts of "pre-compilation" and "pattern matching" are applied to PFD in order to reduce the risk of significant damage during execution period. This technique can completely eliminate the significant faults in a software and thus, improves software reliability. (c) 2005 Elsevier Inc. All rights reserved.
Novice programmers face various errors during the learning of a programming language. Most of them need help from instructors since they lack error resolution skills. On the other side, instructors spend a lot of time...
详细信息
ISBN:
(纸本)9783031630279;9783031630286
Novice programmers face various errors during the learning of a programming language. Most of them need help from instructors since they lack error resolution skills. On the other side, instructors spend a lot of time figuring out students' error causes. Long error detection times result in delayed and failed feedback, leading to a loss of student motivation. To support instructor's fast feedback, a detection method of error cause is needed. Existing detection methods, which are code-based, detect common and specific errors that can be identified by analyzing source code. These methods do not cover the diverse error patterns of novice programmers sufficiently, such as logical defects. To resolve this issue, it may be beneficial to detect rough and correct error causes of diverse error patterns. In this paper, a prediction method of rough error cause is proposed by considering not only source code, but also problem information, execution results, and the cognitive level indicating programming skills. We assume that different programming skills lead to different error patterns, which can help roughly but precisely predict error causes of runtime and logic errors in novice programmers. For performance evaluation, data from two introductory programming courses are used to validate the effectiveness of the cognitive level. Additionally, the usability for fast feedback is validated by comparing the error causes detection times of the instructors in each case.
This paper presents a method to prevent the vulnerabilities caused by insecure programming which, usually, is an outcome of taking into account only the solution of a proposed problem or the development of new functio...
详细信息
This paper presents a method to prevent the vulnerabilities caused by insecure programming which, usually, is an outcome of taking into account only the solution of a proposed problem or the development of new functionalities disregarding security on development of the system as a whole. The programming mistakes (in the context of the system security despite the systems functionality) are usually a result of the unawareness of the programmed about the vulnerabilities contained on the tools they use to develop software. The state of the art is briefly presented showing the current solutions related to preventing buffer overflows based on stack. Both compile time and post-compilation solutions (usually as part of the operating system) are the most widely used. In this work the proposed solution is demonstrated by a functional prototype which validates the model for a set of applications in two different platforms (Windows and Linux). The solution converges process instrumentation with a return address repository to prevent a function from returning to an address not legally specified. Testes of the prototype were performed in both platforms previously mentioned and have proved the correctness of the prototype by actually preventing exploitation on real case scenarios of real world applications. ...
When the Morris worm surfaced in 1988 and infected many servers on the Internet, it revealed a serious flaw in several pieces of software including the Sendmail email software. The curious thing is that exploits used ...
详细信息
When the Morris worm surfaced in 1988 and infected many servers on the Internet, it revealed a serious flaw in several pieces of software including the Sendmail email software. The curious thing is that exploits used by the worm's creator to help it burrow into the host system are still being used today against software that has too many security flaws.
Research the subprogram characteristics, combined with the actual production, introduce the subprogram application systematically, Illustrate flat milling, layer cutting, removal of residual material, realization of r...
详细信息
ISBN:
(纸本)9783037856901
Research the subprogram characteristics, combined with the actual production, introduce the subprogram application systematically, Illustrate flat milling, layer cutting, removal of residual material, realization of rough and finish processing, optimization of parts program, processing the same profiles and the same parts, etc., elucidate the method and technique of subprogramming, show the incremental programming of rotate instructions.
暂无评论