-
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...
-
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...
-
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...
-
Chapter and Conference Paper
Towards Automated Microservices Extraction Using Muti-objective Evolutionary Search
We introduce in this paper a novel approach, named MSExtractor, that formulate the microservices identification problem as a multi-objective combinatorial optimization problem to decompose a legacy application in...
-
Chapter and Conference Paper
Prediction of Web Services Evolution
Web service interfaces are considered as one of the critical components of a Service-Oriented Architecture (SOA) and they represent contracts between web service providers and clients (subscribers). These inte...
-
Chapter and Conference Paper
Bi-level Identification of Web Service Defects
Successful Web services must evolve to remain relevant (e.g. requirements update, bugs fix, etc.), but this process of evolution increases complexity and can cause the Web service interface design to decay and...