35 research outputs found
Program Repair with Minimal Edits Using CodeT5
Programmers often struggle to identify and fix bugs in their programs. In
recent years, many language models (LMs) have been proposed to fix erroneous
programs and support error recovery. However, the LMs tend to generate
solutions that differ from the original input programs. This leads to potential
comprehension difficulties for users. In this paper, we propose an approach to
suggest a correct program with minimal repair edits using CodeT5. We fine-tune
a pre-trained CodeT5 on code pairs of wrong and correct programs and evaluate
its performance with several baseline models. The experimental results show
that the fine-tuned CodeT5 achieves a pass@100 of 91.95% and an average edit
distance of the most similar correct program of 6.84, which indicates that at
least one correct program can be suggested by generating 100 candidate
programs. We demonstrate the effectiveness of LMs in suggesting program repair
with minimal edits for solving introductory programming problems.Comment: 7 pages, 6 figures, accepted to iCAST 202
Exploring Automated Code Evaluation Systems and Resources for Code Analysis: A Comprehensive Survey
The automated code evaluation system (AES) is mainly designed to reliably
assess user-submitted code. Due to their extensive range of applications and
the accumulation of valuable resources, AESs are becoming increasingly popular.
Research on the application of AES and their real-world resource exploration
for diverse coding tasks is still lacking. In this study, we conducted a
comprehensive survey on AESs and their resources. This survey explores the
application areas of AESs, available resources, and resource utilization for
coding tasks. AESs are categorized into programming contests, programming
learning and education, recruitment, online compilers, and additional modules,
depending on their application. We explore the available datasets and other
resources of these systems for research, analysis, and coding tasks. Moreover,
we provide an overview of machine learning-driven coding tasks, such as bug
detection, code review, comprehension, refactoring, search, representation, and
repair. These tasks are performed using real-life datasets. In addition, we
briefly discuss the Aizu Online Judge platform as a real example of an AES from
the perspectives of system design (hardware and software), operation
(competition and education), and research. This is due to the scalability of
the AOJ platform (programming education, competitions, and practice), open
internal features (hardware and software), attention from the research
community, open source data (e.g., solution codes and submission documents),
and transparency. We also analyze the overall performance of this system and
the perceived challenges over the years
Compared the effect of indirect ELISA and serum plate agglutination (SPA) test for the detection of Mycoplasma gallisepticum in chicken
Mycoplasma gallisepticum (MG) is a highly economical and persistent threat of poultry industry in Bangladesh. Indirect ELISA (iELISA) and Serum plate agglutination test (SPA) is available serological test for diagnosis of MG antibodies. The aim of this research was conducted on the basis of comparison on diagnosis results between iELISA and SPA test for MG antibody in same sample in layer chicken. Total 563 serum samples were collected and tested for MG antibody by both iELISA and SPA test. Out of 563 samples 363 (64.48%) samples were positive by iELISA and 316 (56.13%) samples were positive in SPA test. The higher incidence of MG antibody was found in chicken at 50-56 weeks and flock size was 3000-4200 as 69.63% by iELISA and 61.21% by SPA and in Sonali breeds 69.08% by iELISA and 60.64% by SPA. The results showed the comparatively higher number of positive results in iELISA test than SPA test. So the findings of the study demonstrated that a significant (p<0.05) difference between iELISA and SPA test present. The study may helpful for screening the flock for MG and small-holding farmers may use SPA test rather than iELISA test due to rapid, easy and cost effective
Data Analysis and Code Assessment Using Machine Learning Techniques for Programming Activities
ChatGPT for Education and Research: Opportunities, Threats, and Strategies
In recent years, the rise of advanced artificial intelligence technologies has had a profound impact on many fields, including education and research. One such technology is ChatGPT, a powerful large language model developed by OpenAI. This technology offers exciting opportunities for students and educators, including personalized feedback, increased accessibility, interactive conversations, lesson preparation, evaluation, and new ways to teach complex concepts. However, ChatGPT poses different threats to the traditional education and research system, including the possibility of cheating on online exams, human-like text generation, diminished critical thinking skills, and difficulties in evaluating information generated by ChatGPT. This study explores potential opportunities and threats that ChatGPT poses to overall education from the perspective of students and educators. Furthermore, for programming learning, we explore how ChatGPT helps students improve their programming skills. To demonstrate this, we conducted different coding-related experiments with ChatGPT, including code generation from problem descriptions, pseudocode generation of algorithms from texts, and code correction. We also verified the generated codes with an online judge system to evaluate their accuracy.</jats:p
ChatGPT for Education and Research: Opportunities, Threats, and Strategies
In recent years, the rise of advanced artificial intelligence technologies has had a profound impact on many fields, including education and research. One such technology is ChatGPT, a powerful large language model developed by OpenAI. This technology offers exciting opportunities for students and educators, including personalized feedback, increased accessibility, interactive conversations, lesson preparation, evaluation, and new ways to teach complex concepts. However, ChatGPT poses different threats to the traditional education and research system, including the possibility of cheating on online exams, human-like text generation, diminished critical thinking skills, and difficulties in evaluating information generated by ChatGPT. This study explores the potential opportunities and threats that ChatGPT poses to overall education from the perspective of students and educators. Furthermore, for programming learning, we explore how ChatGPT helps students improve their programming skills. To demonstrate this, we conducted different coding-related experiments with ChatGPT, including code generation from problem descriptions, pseudocode generation of algorithms from texts, and code correction. The generated codes are validated with an online judge system to evaluate their accuracy. In addition, we conducted several surveys with students and teachers to find out how ChatGPT supports programming learning and teaching. Finally, we present the survey results and analysis
Improvement of K-means clustering algorithm with better initial centroids based on weighted average
Source Code Assessment and Classification Based on Estimated Error Probability Using Attentive LSTM Language Model and Its Application in Programming Education
The rate of software development has increased dramatically. Conventional compilers cannot assess and detect all source code errors. Software may thus contain errors, negatively affecting end-users. It is also difficult to assess and detect source code logic errors using traditional compilers, resulting in software that contains errors. A method that utilizes artificial intelligence for assessing and detecting errors and classifying source code as correct (error-free) or incorrect is thus required. Here, we propose a sequential language model that uses an attention-mechanism-based long short-term memory (LSTM) neural network to assess and classify source code based on the estimated error probability. The attentive mechanism enhances the accuracy of the proposed language model for error assessment and classification. We trained the proposed model using correct source code and then evaluated its performance. The experimental results show that the proposed model has logic and syntax error detection accuracies of 92.2% and 94.8%, respectively, outperforming state-of-the-art models. We also applied the proposed model to the classification of source code with logic and syntax errors. The average precision, recall, and F-measure values for such classification are much better than those of benchmark models. To strengthen the proposed model, we combined the attention mechanism with LSTM to enhance the results of error assessment and detection as well as source code classification. Finally, our proposed model can be effective in programming education and software engineering by improving code writing, debugging, error-correction, and reasoning
Categorization of Frequent Errors in Solution Codes Created by Novice Programmers
In recent times, e-learning has become indispensable for both technical and general education. Among all the subjects, programming education has drawn attention because of its importance for continuous development in the ICT sector. Finding errors in a solution code is a laborious task for novice programmers, teachers and instructors. Novice programmers are spending a lot of valuable time to search errors in the solution codes. In this paper, a method for the categorization of frequent errors in solution codes is presented. In the proposed method, the differences between wrong solutions and accepted solutions are used to define feature vectors for a clustering algorithm. A longest common subsequence (LCS) algorithm is leveraged to find the differences between wrong and accepted codes, then all the inequalities are converted into feature vectors. The k-mean clustering algorithm is applied to cluster the elements of the feature vector to find the most common errors in solution codes. In our experiment, the method was applied to a set of program solution codes accumulated in an e-learning system. Experimental results show that the proposed method is efficient and capable to detect the most common errors occurred in solution codes that can be helpful for novice programmers to resolve errors quickly as well as useful for teachers to prepare lesson plan.</jats:p