System requirements-OSS components: matching and mismatch resolution practices --- an empirical study
- Claudia Ayala,
- Anh Nguyen-Duc,
- Xavier Franch,
- Martin Höst,
- Reidar Conradi,
- Daniela Cruzes,
- Muhammad Ali Babar
Developing systems by integrating Open Source Software (OSS) is increasingly gaining importance in the software industry. Although the literature claims that this approach highly impacts Requirements Engineering (RE) practices, there is a lack of ...
APIReal: an API recognition and linking approach for online developer forums
When discussing programming issues on social platforms (e.g, Stack Overflow, Twitter), developers often mention APIs in natural language texts. Extracting API mentions from natural language texts serves as the prerequisite to effective indexing and ...
Finding better active learners for faster literature reviews
Literature reviews can be time-consuming and tedious to complete. By cataloging and refactoring three state-of-the-art active learning techniques from evidence-based medicine and legal electronic discovery, this paper finds and implements FASTREAD, a ...
On the correctness of electronic documents: studying, finding, and localizing inconsistency bugs in PDF readers and files
Electronic documents are widely used to store and share information such as bank statements, contracts, articles, maps and tax information. Many different applications exist for displaying a given electronic document, and users rightfully assume that ...
On the challenges of open-sourcing proprietary software projects
The open source software (OSS) movement has become widely recognized as an effective way to deliver software. Even big software companies, well-known for being restrictive when it comes to publishing their source code artifacts, have recently adopted ...
Studying and detecting log-related issues
Logs capture valuable information throughout the execution of software systems. The rich knowledge conveyed in logs is highly leveraged by researchers and practitioners in performing various tasks, both in software development and its operation. Log-...
An industrial case study on the use of UML in software maintenance and its perceived benefits and hurdles
UML is a commonly-used graphical language for the modelling of software. Works regarding UML's effectiveness have studied projects that develop software systems from scratch. Yet the maintenance of software consumes a large share of the overall time and ...
Early prediction of merged code changes to prioritize reviewing tasks
Modern Code Review (MCR) has been widely used by open source and proprietary software projects. Inspecting code changes consumes reviewers much time and effort since they need to comprehend patches, and many reviewers are often assigned to review many ...
A systematic approach for performance assessment using process mining
- Simona Bernardi,
- Juan L. Domínguez,
- Abel Gómez,
- Christophe Joubert,
- José Merseguer,
- Diego Perez-Palacin,
- José I. Requeno,
- Alberto Romeu
Software performance engineering is a mature field that offers methods to assess system performance. Process mining is a promising research field applied to gain insight on system processes. The interplay of these two fields opens promising applications ...
Studying the consistency of star ratings and the complaints in 1 & 2-star user reviews for top free cross-platform Android and iOS apps
How users rate a mobile app via star ratings and user reviews is of utmost importance for the success of an app. Recent studies and surveys show that users rely heavily on star ratings and user reviews that are provided by other users, for deciding ...
An empirical study of Android Wear user complaints
Wearable apps are becoming increasingly popular in recent years. Nevertheless, to date, very few studies have examined the issues that wearable apps face. Prior studies showed that user reviews contain a plethora of insights that can be used to ...
Factors and actors leading to the adoption of a JavaScript framework
The increasing popularity of JavaScript has led to a variety of JavaScript frameworks that aim to help developers to address programming tasks. However, the number of JavaScript frameworks has risen rapidly to thousands of versions. It is challenging ...
Comparison of release engineering practices in a large mature company and a startup
Modern release engineering practices provide multiple benefits for software companies, but organizations have struggled when trying to adopt the most advanced practices, such as continuous delivery. It is not known in which contexts the most advanced ...
Supporting the analyzability of architectural component models - empirical findings and tool support
This article discusses the understandability of component models that are frequently used as central views in architectural descriptions of software systems. We empirically examine how different component level metrics and the participants' experience ...
Semi-automatic rule-based domain terminology and software feature-relevant information extraction from natural language user manuals
Mature software systems comprise a vast number of heterogeneous system capabilities which are usually requested by different groups of stakeholders and which evolve over time. Software features describe and bundle low level capabilities logically on an ...
Detecting requirements defects with NLP patterns: an industrial experience in the railway domain
- Alessio Ferrari,
- Gloria Gori,
- Benedetta Rosadini,
- Iacopo Trotta,
- Stefano Bacherini,
- Alessandro Fantechi,
- Stefania Gnesi
In the railway safety-critical domain requirements documents have to abide to strict quality criteria. Rule-based natural language processing (NLP) techniques have been developed to automatically identify quality defects in natural language ...
Using frame semantics for classifying and summarizing application store reviews
Text mining techniques have been recently employed to classify and summarize user reviews on mobile application stores. However, due to the inherently diverse and unstructured nature of user-generated online textual data, text-based review mining ...
Using human error information for error prevention
Developing error-free software requirements is of critical importance to the success of a software project. Problems that occur during requirements collection and specification, if not fixed early, are costly to fix later. Therefore, it is important to ...
Four commentaries on the use of students and professionals in empirical software engineering experiments
- Robert Feldt,
- Thomas Zimmermann,
- Gunnar R. Bergersen,
- Davide Falessi,
- Andreas Jedlitschka,
- Natalia Juristo,
- Jürgen Münch,
- Markku Oivo,
- Per Runeson,
- Martin Shepperd,
- Dag I. SjØberg,
- Burak Turhan