Proceedings of the 26th Conference on Program Comprehension 2018
DOI: 10.1145/3196321.3196349
|View full text |Cite
|
Sign up to set email alerts
|

Identifying software components from object-oriented APIs based on dynamic analysis

Abstract: The reuse at the component level is generally more effective than the one at the object-oriented class level. This is due to the granularity level where components expose their functionalities at an abstract level compared to the fine-grained object-oriented classes. Moreover, components clearly define their dependencies through their provided and required interfaces in an explicit way that facilitates the understanding of how to reuse these components. Therefore, several component identification approaches ha… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
5
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
3
2

Relationship

2
7

Authors

Journals

citations
Cited by 17 publications
(5 citation statements)
references
References 39 publications
0
5
0
Order By: Relevance
“…While in (El Hamdouni et al, 2010), relational concept analysis is used to extract a component-based architecture. Finally, (Shatnawi et al, 2018) uses dynamic analysis to identify components.…”
Section: Related Workmentioning
confidence: 99%
“…While in (El Hamdouni et al, 2010), relational concept analysis is used to extract a component-based architecture. Finally, (Shatnawi et al, 2018) uses dynamic analysis to identify components.…”
Section: Related Workmentioning
confidence: 99%
“…Execution logs have been extensively studied in such contexts as anomaly detection [4] [20], identification of software components [24], component behavior discovery [17], process mining [28], behavioral differencing [12], failure diagnosis [25], fault localization [30], invariant inference [5], and performance diagnosis [10] [26]. In this section, we focus on automatic analysis of execution logs.…”
Section: Related Workmentioning
confidence: 99%
“…Over the past decades, software engineering research identified and attempted to solve a variety of issues pertaining to several phases of the software lifecycle. However, the fast pace of evolution in the IT industry and the staggering growth of new technologies [50] based on APIs [30,45,25], containers [48], microservices [40,1,41,29], cloud and virtualization, put an increasing pressure on software development [2] and deployment [49,47] practice to fully exploit this paradigm shift. This led to constant questioning of existing techniques [30] and results of software engineering research [36,35], leading to investigating the use of AI and ML-based techniques to solve software engineering problems in topics related to software reuse [16], recommendation systems [34], mining software repositories [36], software data analytics and patterns mining [38,19,37,31] , program analysis and visualization [39,33], testing in the cloud environment, Edge-Enabled systems [24], microservices architecture [43] and mobile applications.…”
Section: Introductionmentioning
confidence: 99%