Issue Downloads
Risky Dynamic Typing-related Practices in Python: An Empirical Study
Python’s dynamic typing nature provides developers with powerful programming abstractions. However, many type-related bugs are accumulated in code bases of Python due to the misuse of dynamic typing. The goal of this article is to aid in the understanding ...
Data Complexity: A New Perspective for Analyzing the Difficulty of Defect Prediction Tasks
Defect prediction is crucial for software quality assurance and has been extensively researched over recent decades. However, prior studies rarely focus on data complexity in defect prediction tasks, and even less on understanding the difficulties of ...
Advanced White-Box Heuristics for Search-Based Fuzzing of REST APIs
Due to its importance and widespread use in industry, automated testing of REST APIs has attracted major interest from the research community in the last few years. However, most of the work in the literature has been focused on black-box fuzzing. ...
Help Them Understand: Testing and Improving Voice User Interfaces
Voice-based virtual assistants are becoming increasingly popular. Such systems provide frameworks to developers for building custom apps. End-users can interact with such apps through a Voice User Interface (VUI), which allows the user to use natural ...
On the Impact of Lower Recall and Precision in Defect Prediction for Guiding Search-based Software Testing
Defect predictors, static bug detectors, and humans inspecting the code can propose locations in the program that are more likely to be buggy before they are discovered through testing. Automated test generators such as search-based software testing (SBST)...
On Estimating the Feasible Solution Space of Multi-objective Testing Resource Allocation
The multi-objective testing resource allocation problem (MOTRAP) is concerned on how to reasonably plan the testing time of software testers to save the cost and improve the reliability as much as possible. The feasible solution space of a MOTRAP is ...
Early and Realistic Exploitability Prediction of Just-Disclosed Software Vulnerabilities: How Reliable Can It Be?
With the rate of discovered and disclosed vulnerabilities escalating, researchers have been experimenting with machine learning to predict whether a vulnerability will be exploited. Existing solutions leverage information unavailable when a CVE is created,...
Testing Multi-Subroutine Quantum Programs: From Unit Testing to Integration Testing
Quantum computing has emerged as a promising field with the potential to revolutionize various domains by harnessing the principles of quantum mechanics. As quantum hardware and algorithms continue to advance, developing high-quality quantum software has ...
MTL-TRANSFER: Leveraging Multi-task Learning and Transferred Knowledge for Improving Fault Localization and Program Repair
Fault localization (FL) and automated program repair (APR) are two main tasks of automatic software debugging. Compared with traditional methods, deep learning-based approaches have been demonstrated to achieve better performance in FL and APR tasks. ...
On the Way to SBOMs: Investigating Design Issues and Solutions in Practice
The increase of software supply chain threats has underscored the necessity for robust security mechanisms, among which the Software Bill of Materials (SBOM) stands out as a promising solution. SBOMs, by providing a machine-readable inventory of software ...
MR-Scout: Automated Synthesis of Metamorphic Relations from Existing Test Cases
Metamorphic Testing (MT) alleviates the oracle problem by defining oracles based on metamorphic relations (MRs) that govern multiple related inputs and their outputs. However, designing MRs is challenging, as it requires domain-specific knowledge. This ...
Replication in Requirements Engineering: The NLP for RE Case
- Sallam Abualhaija,
- F. Basak Aydemir,
- Fabiano Dalpiaz,
- Davide Dell'Anna,
- Alessio Ferrari,
- Xavier Franch,
- Davide Fucci
Natural language processing (NLP) techniques have been widely applied in the requirements engineering (RE) field to support tasks such as classification and ambiguity detection. Despite its empirical vocation, RE research has given limited attention to ...
Focused Test Generation for Autonomous Driving Systems
Testing Autonomous Driving Systems (ADSs) is crucial to ensure their reliability when navigating complex environments. ADSs may exhibit unexpected behaviours when presented, during operation, with driving scenarios containing features inadequately ...
Supporting Emotional Intelligence, Productivity and Team Goals while Handling Software Requirements Changes
Background: Research shows that emotional intelligence (EI) should be used alongside cognitive intelligence during requirements change (RC) handling in Software Engineering (SE), especially in agile settings. Objective: We wanted to study the role of EI ...
Automatic Repair of Quantum Programs via Unitary Operation
With the continuous advancement of quantum computing (QC), the demand for high-quality quantum programs (QPs) is growing. To avoid program failure, in software engineering, the technology of automatic program repair (APR) employs appropriate patches to ...
Testing Updated Apps by Adapting Learned Models
Although App updates are frequent and software engineers would like to verify updated features only, automated testing techniques verify entire Apps and are thus wasting resources.
We present Continuous Adaptation of Learned Models (CALM), an automated ...
Fairness Testing of Machine Translation Systems
Machine translation is integral to international communication and extensively employed in diverse human-related applications. Despite remarkable progress, fairness issues persist within current machine translation systems. In this article, we propose ...
Mobile Application Online Cross-Project Just-in-Time Software Defect Prediction Framework
As mobile applications evolve rapidly, their fast iterative update nature leads to an increase in software defects. Just-In-Time Software Defect Prediction (JIT-SDP) offers immediate feedback on code changes. For new applications without historical data, ...
DeepGD: A Multi-Objective Black-Box Test Selection Approach for Deep Neural Networks
Deep neural networks (DNNs) are widely used in various application domains such as image processing, speech recognition, and natural language processing. However, testing DNN models may be challenging due to the complexity and size of their input domain. ...
Reducing the Impact of Time Evolution on Source Code Authorship Attribution via Domain Adaptation
Source code authorship attribution is an important problem in practical applications such as plagiarism detection, software forensics, and copyright disputes. Recent studies show that existing methods for source code authorship attribution can be ...
Do Code Summarization Models Process Too Much Information? Function Signature May Be All That Is Needed
With the fast development of large software projects, automatic code summarization techniques, which summarize the main functionalities of a piece of code using natural languages as comments, play essential roles in helping developers understand and ...
BatFix: Repairing language model-based transpilation
To keep up with changes in requirements, frameworks, and coding practices, software organizations might need to migrate code from one language to another. Source-to-source migration, or transpilation, is often a complex, manual process. Transpilation ...
Deep Domain Adaptation With Max-Margin Principle for Cross-Project Imbalanced Software Vulnerability Detection
Software vulnerabilities (SVs) have become a common, serious, and crucial concern due to the ubiquity of computer software. Many AI-based approaches have been proposed to solve the software vulnerability detection (SVD) problem to ensure the security and ...
Enhancing GUI Exploration Coverage of Android Apps with Deep Link-Integrated Monkey
Mobile apps are ubiquitous in our daily lives for supporting different tasks such as reading and chatting. Despite the availability of many GUI testing tools, app testers still struggle with low testing code coverage due to tools frequently getting stuck ...
The IDEA of Us: An Identity-Aware Architecture for Autonomous Systems
Autonomous systems, such as drones and rescue robots, are increasingly used during emergencies. They deliver services and provide situational awareness that facilitate emergency management and response. To do so, they need to interact and cooperate with ...
What Makes a Good TODO Comment?
Software development is a collaborative process that involves various interactions among individuals and teams. TODO comments in source code play a critical role in managing and coordinating diverse tasks during this process. However, this study finds ...
A Survey of Source Code Search: A 3-Dimensional Perspective
- Weisong Sun,
- Chunrong Fang,
- Yifei Ge,
- Yuling Hu,
- Yuchen Chen,
- Quanjun Zhang,
- Xiuting Ge,
- Yang Liu,
- Zhenyu Chen
(Source) code search is widely concerned by software engineering researchers because it can improve the productivity and quality of software development. Given a functionality requirement usually described in a natural language sentence, a code search ...