The modifications and changes proposed for javalanguage in its new version java 5.0 are discussed. The expected changes include new virtual machine and complier. The new version is focusing on more real time and safe...
详细信息
The modifications and changes proposed for javalanguage in its new version java 5.0 are discussed. The expected changes include new virtual machine and complier. The new version is focusing on more real time and safety-critical applications. The changes which include generics, an enhanced loop construct and variable length argument lists are expected to simplify the programming.
Code smells, which are suboptimal coding practices that can potentially lead to defects or maintenance issues, can negatively impact the quality of software systems. Most existing code smell detection methods rely on ...
详细信息
Code smells, which are suboptimal coding practices that can potentially lead to defects or maintenance issues, can negatively impact the quality of software systems. Most existing code smell detection methods rely on heuristics-based or machine learning (ML) and deep learning (DL)-based techniques. However, these techniques have several drawbacks (e.g., unsatisfactory performance). Large language Models (LLMs) have garnered significant attention in the software engineering (SE) field, achieving state-of-the-art performance across a wide range of SE tasks. Parameter-Efficient Fine-Tuning (PEFT) methods, which are commonly used to adapt LLMs to specific tasks with fewer parameters and reduced computational resources, have emerged as a promising approach for enhancing the performance of LLMs in various SE tasks. However, LLMs have not yet been explored for code smell detection, and their effectiveness for this task remains unclear. Furthermore, no comprehensive investigation has been conducted on the efficiency of PEFT methods for method-level code smell detection. In this regard, we systematically evaluate the effectiveness of state-of-the-art PEFT methods on both small and large language Models (LMs) for method-level code smell detection. To begin, we constructed high-quality java code smell datasets sourced from GitHub. We then fine-tuned four small LMs and six LLMs using various PEFT techniques, including prompt tuning, prefix tuning, LoRA, and (IA)3, for code smell detection. Our comparison against full fine-tuning revealed that PEFT methods not only achieve comparable or better effectiveness but also consume less peak GPU memory. Our analysis further explored the performance of small LMs versus LLMs in the context of code smell detection. Surprisingly, we found that LLMs did not outperform small LMs in this specific task, suggesting that smaller models may be more suited for method-level code smell detection. We also investigated the impact of varying hyper-param
Reference counting is not naturally suitable for running on multiprocessors. The update of pointers and reference counts requires atomic and synchronized operations. We present a novel reference counting algorithm sui...
详细信息
ISBN:
(纸本)1581133359
Reference counting is not naturally suitable for running on multiprocessors. The update of pointers and reference counts requires atomic and synchronized operations. We present a novel reference counting algorithm suitable for a multiprocessor that does not require any synchronized operation in its write barrier (not even a compare-and-swap type of synchronization). The algorithm is efficient and may complete with any tracing algorithm.
Natural language elements, e.g., todo comments, are frequently used to communicate among the developers and to describe tasks that need to be performed (actions) when specific conditions hold in the code repository (t...
详细信息
Object-oriented languages provide little support for encapsulating objects. Reference semantics allows objects to escape their defining scope. The pervasive aliasing that ensues remains a major source of software defe...
详细信息
ISBN:
(纸本)1581133359
Object-oriented languages provide little support for encapsulating objects. Reference semantics allows objects to escape their defining scope. The pervasive aliasing that ensues remains a major source of software defects. This paper introduces Kacheck/J a tool for inferring object encapulation properties in large java programs. Our goal is to develop practical tools to assist software engineers, thus we focus on simple and scalable techniques. Kacheck/J is able to infer confinement for java classes. A class and its sublasses are confined if all of their instances are encapsulated in their defining package. This simple property can be used to identify accidental leaks of sensitive objects. The analysis is scalable and efficient; Kacheck/J is able t infer confinement on a corpus of 46,000 classes (115 MB) in 6 minutes
In this paper, we introduce TestBench, a benchmark for class-level LLM-based test case generation. We construct a dataset of 108 java programs from 9 real-world, large-scale projects on GitHub, each representing a dif...
详细信息
Software is prone to security vulnerabilities. Program analysis tools to detect them have limited effectiveness in practice due to their reliance on human labeled specifications. Large language models (or LLMs) have s...
详细信息
The article reports that ARM Ltd.'s Jazelle RCT is part of the company's new processor architecture. It replaces the existing Jazelle DBX architecture, which executes java bytecodes directly from memory. RCT r...
详细信息
The article reports that ARM Ltd.'s Jazelle RCT is part of the company's new processor architecture. It replaces the existing Jazelle DBX architecture, which executes java bytecodes directly from memory. RCT requires an ahead-oftime or an in-memory just-in-time compiler that generates 16-bit RCT instructions. RCT is a superset of 16-bit Thumb2 instructions. Enter and exit instructions switch between RCT mode, also known as Thumb-2EE mode, and Thumb2 mode. Unlike Jazelle DBX, Jazelle RCT is applicable to other virtual machines, such as .NET MSIL, Python, and Perl. The Thumb-2EE mode offers new instructions that provide access to registers R8 through R15, which normally are inaccessible except by 32-bit ARM instructions. These registers usually are used to support things like java's stack pointer. Implicit null pointer tests and fast array range checking additionally enhance speed.
Source Code Summarization is the task of writing short, natural language descriptions of source code. The main use for these descriptions is in software documentation e.g. the one-sentence java method descriptions in ...
详细信息
With the evolution in science and technology, a lot has been done over the past few years to make the lives of the differently-abled more comfortable and easy. This paper concentrates on a novel methodology to ease th...
详细信息
With the evolution in science and technology, a lot has been done over the past few years to make the lives of the differently-abled more comfortable and easy. This paper concentrates on a novel methodology to ease the use of an ATM machine for the blind. It describes an approach wherein both the username and PIN for the ATM machine can be input using British Sign language. A cost effective setup and also a high speed algorithm for hand gesture recognition has been elaborated. In comparison with previous algorithms, the method explained in this paper is 1.65 times faster thus proving its efficacy and efficiency. All algorithms were first designed and developed in MATLAB 2011b and then later deployed as software using the java programming language.
暂无评论