In educational institutions such as universities, the principle of refactoring is not sufficiently taught. In fact, in lectures on the basics of object-orientedprogramming such as java, source code with as little met...
详细信息
Matrix eigenvalues have important applications in power system modeling, sensitivity analysis and other fields, so solving matrix eigenvalue algorithm is one of the research hotspots in the field of power system Searc...
详细信息
Large Language Models (LLMs) have shown impressive performance across a wide array of tasks involving both structured and unstructured textual data. More recently, LLMs have demonstrated remarkable abilities to genera...
详细信息
ISBN:
(数字)9798331526153
ISBN:
(纸本)9798331526160
Large Language Models (LLMs) have shown impressive performance across a wide array of tasks involving both structured and unstructured textual data. More recently, LLMs have demonstrated remarkable abilities to generate code across different programming languages. Recent results on various benchmarks for code generation, repair, or completion suggest that certain models have programming abilities comparable to or even surpass humans. In this work, we demonstrate that the high performance on such benchmarks does not correlate to humans’ innate ability to understand the structural control flow of *** this purpose, we extract code solutions from the HumanEval benchmark, which the relevant models perform very strongly on, and trace their execution path using function calls sampled from the respective test set. Using this dataset, we investigate the ability of 7 state-of-the-art LLMs to match the execution trace and find that, despite the model’s abilities to generate semantically identical code, they possess only limited ability to trace the execution path, especially for longer traces and specific control structures. We find that even the top-performing model, Gemini 1.5 Pro can only fully correctly generate the trace of 47% of HumanEval *** addition, we introduce a subset for three key structures not, or only contained to a limited extent in HumanEval: Recursion, Parallel Processing, and object oriented programming principles, including concepts like Inheritance and Polymorphism. Besides OOP, we show that none of the investigated models achieve an average accuracy of over 5% on the relevant traces. Aggregating these specialized parts with the ubiquitous HumanEval tasks, we present the Benchmark CoCoNUT: Code Control Flow for Navigation Understanding and Testing, which measures a models ability to trace the execution of code upon relevant calls, including advanced structural components. We conclude that the current generation LLMs still need to significantly
Software testing allows programmers to determine and guarantee the quality of software system. It is one of the essential activities in software development process. Mutation analysis is a branch of software testing. ...
详细信息
ISBN:
(纸本)9781479981168
Software testing allows programmers to determine and guarantee the quality of software system. It is one of the essential activities in software development process. Mutation analysis is a branch of software testing. It is classified as a fault-based software testing technology. Unlike other software testing technologies, mutation analysis assesses the quality of software test cases and therefore improves the efficiency of software testing by measuring and improving the quality of test cases set. Mutation analysis works by generating mutants, which describe the faults that may occur in the software programs, from original program. Mutants are generated by applying mutation operators on original software program. Mutation operator is a rule that specifies the syntactic variations of strings. There have been several works about mutation analysis support system for conventional languages such as C and FORTRAN. However, there are a few for object-oriented languages such as C++ and Java. This article aims to propose a novel approach to design and implement mutation operators for object-orientedprogramming language. The essential idea of proposed method is the usage of JavaML language as the intermediate representation to implement mutation operators: it first converts the original program into JavaML document; then implements mutation operator for JavaML document and gets the mutated JavaML document with the help of DOM - a tool to process JavaML document; finally it converts the mutated JavaML document into mutant program.
The purpose of this study is to identify and evaluate how a computer game could be applied as a tool for learning object-orientedprogramming in computer science courses. The study aims to reduce the complexity of lea...
详细信息
The purpose of this study is to identify and evaluate how a computer game could be applied as a tool for learning object-orientedprogramming in computer science courses. The study aims to reduce the complexity of learning object-orientedprogramming for the students and provide efficient object-oriented design learning environment for them.
Design patterns are distilled from many real systems to catalog common programming practice. However, some object-oriented design patterns are distorted or overly complicated because of the lack of supporting programm...
详细信息
According to the main problems of spacecraft embedded software design, the universal real-time architecture of spacecraft embedded software without operating system is proposed, and the data flow, control flow, time-s...
详细信息
In the paper, we present principles of an object-orientedprogramming language for Physarum polycephalum computing. Physarum polycephalum is a one-cell organism that can be used for developing a biological architectur...
详细信息
In the paper, we present principles of an object-orientedprogramming language for Physarum polycephalum computing. Physarum polycephalum is a one-cell organism that can be used for developing a biological architecture of different abstract devices. Both, theoretical foundations and assumptions for a language specification are considered. Especially, we focus on selected approaches (ladder diagrams, Petri nets, and transition systems) enabling us to model behaviour of Physarum polycephalum in the created programming language.
As software systems continue to evolve to their complexities, vulnerability detection in code is a daunting task. Traditional techniques, such as static analysis alone, usually fail to deliver vulnerabilities in objec...
详细信息
ISBN:
(数字)9798331537555
ISBN:
(纸本)9798331537562
As software systems continue to evolve to their complexities, vulnerability detection in code is a daunting task. Traditional techniques, such as static analysis alone, usually fail to deliver vulnerabilities in object-orientedprogramming languages alone, because they inherit complexities like polymorphism, inheritance hierarchies, and encapsulation. This paper would introduce a novel approach that would be based on deep learning-based vulnerability detection with the involvement of fuzzy clustering techniques in code restructuring in OOP-based systems. Deep learning models such as DNNs, CNNs, and RNNs provide a better way of learning code patterns for the identification of vulnerabilities like buffer overflows, SQL injections, and cross-site scripting attacks. However, the state of features in OOP sometimes demands extra strategies to raise the precision of detection. Fuzzy clustering is used to cluster similar code patterns. It tracks the vulnerability that may remain undiscovered using traditional analysis techniques. The restructuring of complex OOP code-the flattening of inheritance hierarchies, reduction of polymorphic behaviors, and enhancing encapsulation access-halves the process in such analyses being more efficient in detecting vulnerabilities. This is how deep learning and fuzzy clustering could provide an efficient solution to enhance the security of software systems by overcoming shortcomings of traditional approaches and complexities accompanying modern OOP-based applications.
Currently, a lot of universities are offering Java programming courses for teaching the first-step object-orientedprogramming language. For novice students, to master writing readable codes using proper names for var...
详细信息
ISBN:
(数字)9798331521165
ISBN:
(纸本)9798331521172
Currently, a lot of universities are offering Java programming courses for teaching the first-step object-orientedprogramming language. For novice students, to master writing readable codes using proper names for variables, classes, and methods is crucial in Java programming, to improve under-standability and maintainability. In this paper, we consider four naming rules to write a readable code and implement the naming rule checking function to check whether the given code follows them. For evaluations, we applied the proposal to 2, 908 source codes submitted in Java programming courses from students in Okayama University, Japan, Malang State Polytechnic, Indonesia, and Yamaguchi University, Japan. The results confirm the effectiveness of the proposal.
暂无评论