Properties and Styles of Software Technology Tutorials
A large number of tutorials for popular software development technologies are available online, and those about the same technology vary widely in their presentation. We studied the design of tutorials in the software documentation landscape for five ...
AccessFixer: Enhancing GUI Accessibility for Low Vision Users With R-GCN Model
The Graphical User Interface (GUI) plays a critical role in the interaction between users and mobile applications (apps), aiming at facilitating the operation process. However, due to the variety of functions and non-standardized design, GUIs might have ...
Better Pay Attention Whilst Fuzzing
Fuzzing is one of the prevailing methods for vulnerability detection. However, even state-of-the-art fuzzing methods become ineffective after some period of time, i.e., the coverage hardly improves as existing methods are ineffective to focus the ...
An Assessment of Rules of Thumb for Software Phase Management, and the Relationship Between Phase Effort and Schedule Success
In the planning of a software development project, managers must estimate the amount of effort needed for distinct phases of activity. A number of rules of thumb exist in the literature to help the program manager in this task. However, very little work ...
INSPECT: Intrinsic and Systematic Probing Evaluation for Code Transformers
Pre-trained models of source code have recently been successfully applied to a wide variety of Software Engineering tasks; they have also seen some practical adoption in practice, e.g. for code completion. Yet, we still know very little about <italic>what<...
Simulation-Based Testing of Simulink Models With Test Sequence and Test Assessment Blocks
Simulation-based software testing supports engineers in finding faults in Simulink<sup>®</sup> models. It typically relies on search algorithms that iteratively generate test inputs used to exercise models in simulation to detect design errors. ...
Revisiting Knowledge-Based Inference of Python Runtime Environments: A Realistic and Adaptive Approach
The reuse and integration of existing code is a common practice for efficient software development. Constantly updated Python interpreters and third-party packages introduce many challenges to Python runtime environment inference. Existing knowledge-based ...
Answering Uncertain, Under-Specified API Queries Assisted by Knowledge-Aware Human-AI Dialogue
Developers’ API needs should be more pragmatic, such as seeking suggestive, explainable, and extensible APIs rather than the so-called best result. Existing API search research cannot meet these pragmatic needs because they are solely concerned ...
Federated Learning for Software Engineering: A Case Study of Code Clone Detection and Defect Prediction
In various research domains, artificial intelligence (AI) has gained significant prominence, leading to the development of numerous learning-based models in research laboratories, which are evaluated using benchmark datasets. While the models proposed in ...
On Effectiveness and Efficiency of Gamified Exploratory GUI Testing
<italic>Context</italic>: Gamification appears to improve enjoyment and quality of execution of software engineering activities, including software testing. Though commonly employed in industry, manual exploratory testing of web application GUIs was ...
Code Review Automation: Strengths and Weaknesses of the State of the Art
The automation of code review has been tackled by several researchers with the goal of reducing its cost. The adoption of deep learning in software engineering pushed the automation to new boundaries, with techniques <italic>imitating</italic> developers ...