Regression testing of software systems is an important and critical activity but can be expensive and resource-intensive. An approach to enhance its efficiency is Regression Test Selection (RTS), which selectively re-...
详细信息
Regression testing of software systems is an important and critical activity but can be expensive and resource-intensive. An approach to enhance its efficiency is Regression Test Selection (RTS), which selectively re-executes a subset of relevant tests that are impacted by code modifications. Previous studies on static and dynamic RTS for java software have shown that selecting tests at the class level is more effective than using finer granularities like methods or statements. Nevertheless, RTS at the package level, which is a coarser granularity than class level, has not been thoroughly investigated or evaluated for java projects. To address this gap, we propose PKRTS, a static package-level RTS approach that utilizes the structural dependencies of the software system under test to construct a package-level dependency graph. PKRTS analyzes dependencies in the graph and identifies relevant tests that can reach modified packages, i.e., packages containing altered classes. In contrast to conventional static RTS techniques, PKRTS implicitly considers dynamic dependencies, such as java reflection and virtual method calls, among classes belonging to the same package by treating all those classes as a single cohesive node in the dependency graph. We evaluated PKRTS on 885 revisions of 9 open-source java projects, with its performance compared to Ekstazi, a state-of-the-art dynamic class-level approach, and STARTS, a state-of-the-art static class-level approach. We used Ekstazi as the baseline to measure the safety and precision violations of PKRTS and STARTS. The results indicated that PKRTS outperformed static class-level RTS in terms of safety violation, which measures the extent to which relevant test cases are missed. PKRTS showed an average safety violation of 2.29%, while STARTS recorded 5.94%. Despite this, PKRTS demonstrated lower average precision violation than class-level RTS, as it selected a higher number of irrelevant test cases. The average reduction in te
Exceptions are unintended or undesired events that occur during program execution and have a negative effect on the robustness of the program. In the javalanguage, exceptions are divided into two types: checked excep...
详细信息
This study aims to design an idea lab or village idea lab as a digital platform An idea lab is defined as an infrastructure developed for gathering in, creating ideas, and brainstorming. The idea lab program adopts th...
详细信息
work proposes a two-factor authentication method by integrating the second factor into the authentication service in system with a centralized user's database. This approach made it possible to achieve the univers...
详细信息
The problem of testing multi-threaded programs by viewing the program as Hoare's CSP specification or Communicating State Machines is addressed. We describe an approach to transform java threads into equivalent Ho...
详细信息
java is still regarded as one of the most powerful programminglanguages available, because of its security and platform independence. It's hard to manage logs manually so to simplify and to make logging easy Apac...
详细信息
Machine Learning, a subset of Artificial Intelligence, is now being integrated into image and speech classification, object and action recognition, medical image analysis, security and surveillance, and autonomous dri...
详细信息
Novice programmers may not quickly understand a new or unfamiliar programminglanguage. In order to help them understand the source code, existing studies have proposed approaches that translate a programminglanguage...
详细信息
With all the scripting languages on the rise, java is still a very popular choice for creating industrial enterprise applications. This paper discusses the complex implantation of the Full Stack java-Based Spring Clou...
详细信息
An interface called java Database Connectivity enables programmers to connect to any database and retrieve data from it. A group of interfaces that define the java Database Connectivity API are included in the SQL pac...
详细信息
暂无评论