![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Article
A literature review and existing challenges on software logging practices
Software logging is the practice of recording different events and activities that occur within a software system, which are useful for different activities such as failure prediction and anomaly detection. Wh...
-
Chapter and Conference Paper
How Is Software Reuse Discussed in Stack Overflow?
Software reuse is a crucial external quality attribute targeted by open-source and commercial projects. Despite that software reuse has experienced an increased adoption throughout the years, little is known a...
-
Article
A multi-objective effort-aware approach for early code review prediction and prioritization
Modern Code Review (MCR) is an essential practice in software engineering. MCR helps with the early detection of defects and preventing poor implementation practices and other benefits such as knowledge sharin...
-
Article
Learning to Predict Code Review Completion Time In Modern Code Review
Modern Code Review (MCR) is being adopted in both open-source and proprietary projects as a common practice. MCR is a widely acknowledged quality assurance practice that allows early detection of defects as we...
-
Article
Automatically detecting and understanding the perception of COVID-19 vaccination: a middle east case study
The development of COVID-19 vaccines has been a great relief in many countries that have been affected by the pandemic. As a result, many governments have made significant efforts to purchase and administer va...
-
Article
On the use of textual feature extraction techniques to support the automated detection of refactoring documentation
Refactoring is the art of improving the internal structure of a program without altering its external behavior, and it is an important task when it comes to software maintainability. While existing studies hav...
-
Article
Tracking bad updates in mobile apps: a search-based approach
The rapid growth of the mobile applications development industry raises several new challenges to developers as they need to respond quickly to the users’ needs in a world of continuous changes. Indeed, mobile...
-
Article
Refactoring for reuse: an empirical study
Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies to optimize software design through applying design patterns and removing design defects, lit...
-
Article
Improving the prediction of continuous integration build failures using deep learning
Continuous Integration (CI) aims at supporting developers in integrating code changes constantly and quickly through an automated build process. However, the build process is typically time and resource-consum...
-
Chapter and Conference Paper
Search-Based Third-Party Library Migration at the Method-Level
In software development, third-party libraries are commonly used to reduce implementation efforts and errors, while delivering high-quality, reliable and secure software. To support software evolution, newer l...
-
Chapter and Conference Paper
Combining Static and Dynamic Analysis to Decompose Monolithic Application into Microservices
In order to benefit from the advantages offered by the microservices architectural design, many companies have started migrating their monolithic application to this newer design. However, due to the high cost...
-
Article
On the documentation of refactoring types
Commit messages are the atomic level of software documentation. They provide a natural language description of the code change and its purpose. Messages are critical for software maintenance and program compre...
-
Article
A longitudinal exploratory study on code smells in server side web applications
Modern web applications have become one of the largest parts of the current software market over years, bringing cross-platform compatibility and data integration advantages that encouraged businesses to shift...
-
Article
How do i refactor this? An empirical study on refactoring trends and topics in Stack Overflow
An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt...
-
Chapter and Conference Paper
An Exploratory Study on How Software Reuse is Discussed in Stack Overflow
Software reuse is an important and crucial quality attribute in modern software engineering, where almost all software projects, open source or commercial, no matter small or ultra-large, source code reuse in ...
-
Chapter and Conference Paper
On the Diffusion and Impact of Code Smells in Web Applications
Web applications (web apps) have become one of the largest parts of the current software market over years. Modern web apps offer several business benefits over other traditional and standalone applications. M...
-
Chapter and Conference Paper
AndroLib: Third-Party Software Library Recommendation for Android Applications
Android mobile applications (apps) rely heavily on third-party libraries as a means to save time, reduce implementation costs, and increase software quality while offering rich, robust, and up-to-date features...
-
Chapter and Conference Paper
How Does Library Migration Impact Software Quality and Comprehension? An Empirical Study
The process of migration between different third-party software libraries, while being an typical library reuse practice, is complex, time consuming and error-prone. Typically, during a library migration proce...
-
Chapter and Conference Paper
Web Service API Anti-patterns Detection as a Multi-label Learning Problem
Anti-patterns are symptoms of poor design and implementation solutions applied by developers during the development of their software systems. Recent studies have identified a variety of Web service anti-patte...
-
Chapter and Conference Paper
How Do Developers Refactor Code to Improve Code Reusability?
Refactoring is the de-facto practice to optimize software health. While there has been several studies proposing refactoring strategies to optimize software design through applying design patterns and removing de...