On the Understandability of MLOps System Architectures
Machine Learning Operations (MLOps) is the practice of streamlining and optimising the machine learning (ML) workflow, from development to deployment, using DevOps (software development and IT operations) principles and ML-specific activities. ...
Provably Valid and Diverse Mutations of Real-World Media Data for DNN Testing
Deep neural networks (DNNs) often accept high-dimensional media data (e.g., photos, text, and audio) and understand their perceptual content (e.g., a cat). To test DNNs, <italic>diverse</italic> inputs are needed to trigger mis-predictions. Some ...
Exploring the Role of Team Security Climate in the Implementation of Security by Design: A Case Study in the Defense Sector
The rapid diffusion of software systems into all aspects of human life has exacerbated security threats and thus amplified the requirement for proactive approaches for designing security as a default. Following evidence from previous studies, indicating ...
Active Code Learning: Benchmarking Sample-Efficient Training of Code Models
The costly human effort required to prepare the training data of machine learning (ML) models hinders their practical development and usage in software engineering (ML4Code), especially for those with limited budgets. Therefore, efficiently training ...
Asking and Answering Questions During Memory Profiling
The software engineering community has produced numerous tools, techniques, and methodologies for practitioners to analyze and optimize memory usage during software execution. However, little is known about the actual needs of programmers when analyzing ...
Methods and Benchmark for Detecting Cryptographic API Misuses in Python
Extensive research has been conducted to explore cryptographic API misuse in Java. However, despite the tremendous popularity of the Python language, uncovering similar issues has not been fully explored. The current static code analysis tools for Python ...
Mutation Testing in Practice: Insights From Open-Source Software Developers
Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its ...
Generic Sensitivity: Generics-Guided Context Sensitivity for Pointer Analysis
- Haofeng Li,
- Tian Tan,
- Yue Li,
- Jie Lu,
- Haining Meng,
- Liqing Cao,
- Yongheng Huang,
- Lian Li,
- Lin Gao,
- Peng Di,
- Liang Lin,
- ChenXi Cui
Generic programming has found widespread application in object-oriented languages like Java. However, existing context-sensitive pointer analyses fail to leverage the benefits of generic programming. This paper introduces <italic>generic sensitivity</...
hmCodeTrans: Human–Machine Interactive Code Translation
Code translation, i.e., translating one kind of code language to another, plays an important role in scenarios such as application modernization and multi-language versions of applications on different platforms. Even the most advanced machine-based code ...
Toward Cost-Effective Adaptive Random Testing: An Approximate Nearest Neighbor Approach
<italic>Adaptive Random Testing</italic> (ART) enhances the testing effectiveness (including fault-detection capability) of <italic>Random Testing</italic> (RT) by increasing the diversity of the random test cases throughout the input domain. Many ART ...
Toward a Theory of Causation for Interpreting Neural Code Models
Neural Language Models of Code, or Neural Code Models (NCMs), are rapidly progressing from research prototypes to commercial developer tools. As such, understanding the capabilities and limitations of such models is becoming critical. However, the ...
Microservice Extraction Based on a Comprehensive Evaluation of Logical Independence and Performance
Monolithic architectures are becoming increasingly difficult to cope with complex applications, and microservice architectures, which offer flexibility and logical independence in development and maintenance, are the new choice for companies and ...
Shaken, Not Stirred: How Developers Like Their Amplified Tests
Test amplification makes systematic changes to existing, manually written tests to provide tests complementary to an automated test suite. We consider developer-centric test amplification, where the developer explores, judges and edits the amplified tests ...
MASTER: Multi-Source Transfer Weighted Ensemble Learning for Multiple Sources Cross-Project Defect Prediction
Multi-source cross-project defect prediction (MSCPDP) attempts to transfer defect knowledge learned from multiple source projects to the target project. MSCPDP has drawn increasing attention from academic and industry communities owing to its advantages ...