Every programminglanguage has its own style conventions and best practices, which help developers to write readable and maintainable code. Learning code style is an essential skill that every professional software en...
详细信息
ISBN:
(纸本)9798350322590
Every programminglanguage has its own style conventions and best practices, which help developers to write readable and maintainable code. Learning code style is an essential skill that every professional software engineer should master. As such, students should develop good habits for code style early on, when they start learning how to program. Unfortunately, manually assessing students' code with timely and detailed feedback is often infeasible, and professional static analysis tools are unsuitable for educational contexts. This paper presents GRADESTYLE, a tool for automatically assessing the code style of java assignments. GRADESTYLE automatically checks for violations of some of the most important Google java Style conventions, and java best practices. Students receive a report with a code style mark, a list of violations, and their source code locations. GRADESTYLE nicely integrates with GitHub and GitHub Classroom, and can be configured to provide continuous feedback every time a student pushes new code. We adopted our tool in a second-year software engineering programming course with 327 students and observed consistent improvements in the code style of their assignments.
This paper represents a cross-language and cross-tool investigation of tools and techniques for static code analysis focused on basic software complexity metrics such as: McCabe Cyclomatic Complexity, Halstead, and Ma...
详细信息
java Ranger is a path-merging tool for java Programs. It identifies branching regions of code and summarizes them by generating a disjunctive logical constraint that describes the behavior of the code region. Previous...
详细信息
ISBN:
(纸本)9783031308192;9783031308208
java Ranger is a path-merging tool for java Programs. It identifies branching regions of code and summarizes them by generating a disjunctive logical constraint that describes the behavior of the code region. Previously, java Ranger showed that a reduction of 70% of execution paths is possible when used to merge branching regions of code that support numeric constraints. In this paper, we describe the support of two additional features since participation in SV-COMP 2020: symbolic array and symbolic string operations. Finally, we present a preliminary evaluation of the effect of the structure of the disjunctive constraint on the solver's performance. Results suggest that certain constraint structures can speed up the performance of java Ranger.
Try Location Detection (TLD) and Catch Exception Prediction (CEP) are two interrelated tasks in runtime exception handling which is a crucial aspect in javaprogramming. The performance of each task can significantly ...
详细信息
This study examines the impact of tokenized java code length on the accuracy and explicitness of ten major LLMs in vulnerability detection. Using chi-square tests and known ground truth, we found inconsistencies acros...
详细信息
The popularization of AI technology, yes the emerging technology represented by deep learning and neural network has gradually become an important tool for solving complex problems. Specifically, in the application fi...
详细信息
We give an insight into java Geometry Expert (JGEX) in use in a school context, focusing on the Austrian school system. JGEX can offer great support in some classroom situations, especially for solving mathematical co...
详细信息
We give an insight into java Geometry Expert (JGEX) in use in a school context, focusing on the Austrian school system. JGEX can offer great support in some classroom situations, especially for solving mathematical competition tasks. Also, we discuss some limitations of the program.
This paper introduces CodeMotion: an AST-driven web-based program visualization tool designed to improve learners’ understanding of javaScript code execution and algorithmic concepts through interactive visual explor...
详细信息
The breakneck evolution of modern programminglanguages aggravates the development of deductive verification tools, which struggle to timely and fully support all new language features. To address this challenge, we p...
详细信息
ISBN:
(纸本)9783031274800;9783031274817
The breakneck evolution of modern programminglanguages aggravates the development of deductive verification tools, which struggle to timely and fully support all new language features. To address this challenge, we present BYTEBACK: a verification technique that works on java bytecode. Compared to high-level languages, intermediate representations such as bytecode offer a much more limited and stable set of features;hence, they may help decouple the verification process from changes in the source-level language. BYTEBACK offers a library to specify functional correctness properties at the level of the source code, so that the bytecode is only used as an intermediate representation that the end user does not need to work with. Then, BYTEBACK reconstructs some of the information about types and expressions that is erased during compilation into bytecode but is necessary to correctly perform verification. Our experiments with an implementation of BYTEBACK demonstrate that it can successfully verify bytecode compiled from different versions of java, and including several modern language features that even state-of-the-art java verifiers (such as KeY and OpenJML) do not directly support-thus revealing how BYTEBACK's approach can help keep up verification technology with language evolution.
Data spaces have emerged as a paradigm for maintaining data sovereignty and interoperability in data sharing among various stakeholders. There is an increasing interest and progress in research and practice whereby cu...
详细信息
暂无评论