Code defects can lead to software vulnerability and even produce vulnerability *** research shows that the code detection technology with text analysis can judge whether object-oriented code files are defective to som...
详细信息
Code defects can lead to software vulnerability and even produce vulnerability *** research shows that the code detection technology with text analysis can judge whether object-oriented code files are defective to some ***,these detection techniques are mainly based on text features and have weak detection capabilities across *** with the uncertainty of the code and text caused by the developer’s personalization,the programming language has a stricter logical specification,which reflects the rules and requirements of the language itself and the developer’s potential way of *** article replaces text analysis with programming logic modeling,breaks through the limitation of code text analysis solely relying on the probability of sentence/word occurrence in the code,and proposes an object-oriented language programming logic construction method based on method constraint relationships,selecting features through hypothesis testing ideas,and construct support vector machine classifier to detect class files with defects and reduce the impact of personalized programming on detection *** the experiment,some representative Android applications were selected to test and compare the proposed *** terms of the accuracy of code defect detection,through cross validation,the proposed method and the existing leading methods all reach an average of more than 90%.In the aspect of cross program detection,the method proposed in this paper is superior to the other two leading methods in accuracy,recall and F1 value.
Teaching programming logic to students who do not have a background in computer science is challenging, as the instructor has to awaken problem-solving, critical thinking, and logical reasoning skills Several programm...
详细信息
Teaching programming logic to students who do not have a background in computer science is challenging, as the instructor has to awaken problem-solving, critical thinking, and logical reasoning skills Several programming tools have been created to teach coding concepts to computer science students of different ages. However, these tools are not well designed to meet the challenge of teaching programming to new developers who come with school training in other areas such as accounting, management, etc. Therefore, this research focused on analyzing the importance of the application of online programming tools to students starting college who come with a school background in an area other than technology. A pre/post experimental design was carried out with 82 first-level students of the Technical University of Ambato in the careers of Systems and Electronics. The results revealed that 45% of the students increased their levels of application and analysis in programming processes. In addition, the research revealed that students who come from a background other than computer science agree with the integration of online programming tools from the first level of university entrance since this method helps to improve their learning capacity.
Code security or robustness has been an important topic in the recent decades for the research and software production communities. Defects in code can cause vulnerabilities in the program or system because it can be ...
详细信息
Code security or robustness has been an important topic in the recent decades for the research and software production communities. Defects in code can cause vulnerabilities in the program or system because it can be exploited by attackers. This project has enhanced Secure Coding Assistant system with Design by Contract and programming logic. The enhanced system can help programmers detect, locate, and eliminate code errors while coding. Java programmers using this enhanced system are suggested to provide their design contracts to three program structures (i.e., methods, if-then-else statements, and while-loop statements). Programmer-defined design contracts can be automatically generated and checked at the dynamic time of their program execution. Based on the inference rules of if-then-else statements and while-loop statements in the programming logic, the system can automatically generate sub-design contracts using programmer-defined design contracts. The system-generated sub-design contracts can also be automatically checked during run time to further help programmers detect and locate code errors. Furthermore, the weakest pre-conditions of certain sequences of assignments can be automatically generated from the post-conditions of the sequences based on the inference rule of the sequence statements and the assignment axiom in the programming logic. This helps programmers statically analyze the correctness of the relevant programmer-defined design contracts. With the enhancement presented, Secure Coding Assistant can help programmers for early detection of violations of secure coding rules and defects in Java code at the same time.
This article aims to present the results obtained from the systematic of the Brazilian literature on teaching and learning the discipline of programming logic (LP), considering the articles published in the Brazilian ...
详细信息
ISBN:
(纸本)9781728103822
This article aims to present the results obtained from the systematic of the Brazilian literature on teaching and learning the discipline of programming logic (LP), considering the articles published in the Brazilian Journal of Informatics in Education (RBIE), in the annals of the Brazilian Symposium on Informatics (SBIE), in the annals of the Computer Science Workshops (WIE), in the Brazilian Congress of Informatics in Education (CBIE) and in the Journey of Updating in Computer Science at School (JAIE) between 2012 and 2017. From this mapping the strategies used in teaching LP in Basic Education, High School and Higher Education were analyzed, and was verified that the subject remains a great challenge to be overcome. Additionally, this work investigates if Multiple Intelligences are being considered in the adoption of teaching techniques - the goal is to establish a future work on this subject. Results show that Scratch and Games are the most cited in Brazilian literature and that Multiple Intelligences are still an open research field in this context.
This study developed interactive teaching aids integrating building blocks and programming logic for children called e-Tuning. The teaching aids comprise two systems: (1) a programming logic board and (2) an e-book an...
详细信息
This study developed interactive teaching aids integrating building blocks and programming logic for children called e-Tuning. The teaching aids comprise two systems: (1) a programming logic board and (2) an e-book and task maps. The design concept of the programming logic board enables children to conduct simple programming without computers. Computer-programming commands are converted into tangible programming blocks easily understood by children. Children can simply place the programming blocks on the programming logic board to complete their programming tasks. The e-book provides assembly methods for Lego robots to complete different programming tasks. Children can follow the assembling steps in the e-book to construct the robot and use it to solve programing tasks. Constructing robots with varied designs enhances the enjoyment of children during the learning process. The e-book also provides diverse story tasks and corresponding task maps. Teachers can apply these story tasks to guide children in using programming blocks to complete the tasks systematically. The results of an experimental course and field trials reveal that through games and tasks, e-Tuning can cultivate basic programming logic, inspire creativity, and develop logical thinking.
For entering students in Computer Science, in addition to having affinity with the area, it is highly necessary to acquire knowledge in programming logic. However, not all entering students in the technical or graduat...
详细信息
ISBN:
(纸本)9789869401265
For entering students in Computer Science, in addition to having affinity with the area, it is highly necessary to acquire knowledge in programming logic. However, not all entering students in the technical or graduation courses find it easy to learn this subject. As an attempt to contribute to change this reality, the creation of a tool called Blockino has been developed. Blockino includes the concept of Educational Robotics, helping the teachers and professors in the process of construction of knowledge in programming logic through the use of a programming language in the blocks with robots.
Astriking feature of the debates around the perceived software crisis in the 1960s and 1970s is the frank contempt expressed by some elite computer scientists for much work in the fields of programming and programming...
详细信息
Astriking feature of the debates around the perceived software crisis in the 1960s and 1970s is the frank contempt expressed by some elite computer scientists for much work in the fields of programming and programming language design. The writings of computer scientist Edsger Dijkstra are a familiar source of such material: in his Turing Award lecture, he opined that “the sooner we can forget that FORTRAN ever existed the better” and likened an advocate of the PL/I language to a drug addict. In a slightly more restrained register, John Backus (another Turing Award winner) used his acceptance speech to denounce existing languages as “fat and flabby [2].” Dijkstra’s contempt for the tools of his trade easily slipped into contempt for their users.
Introduction to Computer Science is traditionally the first course that all computer science and software engineering majors take. The course introduces many problem-solving techniques which can be challenging for man...
详细信息
Introduction to Computer Science is traditionally the first course that all computer science and software engineering majors take. The course introduces many problem-solving techniques which can be challenging for many freshman students. In order to mitigate some of the issues of this course, we, at the Higher Education Institute, introduced a new prerequisite course, Introduction to programming logic, which is a required course for all students who have not taken any previous computer science course. In the Summer Session of 2022, we included prize-based learning in one of the sections of the course. Prize-based learning is similar to both problem-based learning and project-based learning in many aspects, including the principle of student-centred learning. However, it differs with respect to the motivation for student success. This approach utilises the students' ambition to win, to encourage students to work harder and learn more both inside as well as outside the classroom.
This paper presents an axiom for goto statements in terms of Dijkstra's weakest (liberal) precondition model. We give a detailed comparison of our axiom with Arbib and Alagic's approach and argue that the latt...
详细信息
This paper presents an axiom for goto statements in terms of Dijkstra's weakest (liberal) precondition model. We give a detailed comparison of our axiom with Arbib and Alagic's approach and argue that the latter is actually flawed even if it offers a goto axiom that has widely been cited and adopted. (c) 2022 Elsevier B.V. All rights reserved.
This work presents the results of a research that aimed to evaluate the use of the Scratch visual programming language in the development of computational thinking, in comparison with the use of pseudocode, during the...
详细信息
ISBN:
(纸本)9781728103822
This work presents the results of a research that aimed to evaluate the use of the Scratch visual programming language in the development of computational thinking, in comparison with the use of pseudocode, during the teaching of logic and programming algorithms. The research was delineated with a methodology of action research, which made possible the evaluation of the Scratch language and the pseudocode at the end of the approach of each content. The steps of approaching each content were initiated with the application of the diagnostic evaluation, and finalized with the evaluation of performance. The results indicate that the use of the Scratch language presented better results during the initial stages;as the complexity of the content increased, the use of the pseudocode produced better results. Nevertheless, it is worth noting the good acceptance of the Scratch language for the teaching-learning process of the contents, as well as the contribution that it has had to the learning of logic and programming algorithms.
暂无评论