“…The application of machine learning techniques is also addressed in the literature. The work presented in (Bao et al 2017) study how the construction of models for fine-grained level attributes may contribute to context-aware API linkage prediction. This way, service discovery and recommendation is supported by LDA technique from the information retrieval field to summarize topic distribution from API description documents.…”
Software Engineering principles and practices promote the reuse of existing elements to maximize the performance of development and maintenance processes. The core concepts of reusability are aligned with the FAIR (Findability, Accessibility, Interoperability, and Reusability) principles. From our perspective, FAIR principles are not only related to data in a software system, because there are other resources and parts of a system that are related to data indirectly or require data schemas and models for their description and management. Examples of these resources are services, business logic processes, contracts, security policies, architectures, components, deployment resources, execution rules, or interaction alternatives, among other possible examples. Actually, any resource in a system may need to be discovered either internally by a subprocess, or externally by any client that might be interested in finding, accessing, interoperating, or reusing it. This paper addresses a systematic literature review to analyze the current principles, paradigms, and technologies that can be applied to enable discovering and reusing mechanisms in modern software systems, and how traditional and outdated approaches have been adapted to support present issues. From this analysis, we outlined the challenges and open research lines that can be addressed to achieve a suitable reuse strategy.
“…The application of machine learning techniques is also addressed in the literature. The work presented in (Bao et al 2017) study how the construction of models for fine-grained level attributes may contribute to context-aware API linkage prediction. This way, service discovery and recommendation is supported by LDA technique from the information retrieval field to summarize topic distribution from API description documents.…”
Software Engineering principles and practices promote the reuse of existing elements to maximize the performance of development and maintenance processes. The core concepts of reusability are aligned with the FAIR (Findability, Accessibility, Interoperability, and Reusability) principles. From our perspective, FAIR principles are not only related to data in a software system, because there are other resources and parts of a system that are related to data indirectly or require data schemas and models for their description and management. Examples of these resources are services, business logic processes, contracts, security policies, architectures, components, deployment resources, execution rules, or interaction alternatives, among other possible examples. Actually, any resource in a system may need to be discovered either internally by a subprocess, or externally by any client that might be interested in finding, accessing, interoperating, or reusing it. This paper addresses a systematic literature review to analyze the current principles, paradigms, and technologies that can be applied to enable discovering and reusing mechanisms in modern software systems, and how traditional and outdated approaches have been adapted to support present issues. From this analysis, we outlined the challenges and open research lines that can be addressed to achieve a suitable reuse strategy.
“…To leverage mashup descriptions and structures to discover important word features of services and bridge the vocabulary gap between mashup developers and service providers, Zhong et al [10] jointly model mashup descriptions and component service using author topic model to reconstruct service profiles. Considering that different attributes may contribute differently to a service linkage in calculating the semantic distances among services, Bao et al [11] suggest that we should simultaneously train separate models for individual attributes and develop a latent attribute modeling method to reveal context-aware attribute distribution. In addition, considering that different from individual service recommendation scenarios, some works are focused on optimizing the candidate APIs set to reduce the redundancy and improve the diversity of candidate APIs list [14], [27].…”
Section: Related Workmentioning
confidence: 99%
“…Existing works can be coarsely classified into two categories, one focuses on the principle of collaborative filtering [5]- [8], and the other focuses on estimating the relevance between the mashup requirements and the candidate APIs [9]- [13]. Various technologies, e.g., matrix factorization [7], [8], topic modeling [9], [10], link analysis [11] and various features, e.g., texts, tags, topics and popularity are exploited to enhance the accuracy of recommendations [13]- [17].…”
With the growing prosperity of the Web API economy, mashup-oriented API recommendation has become an important requirement. Various methods based on different principles of technology have been used to deal with this issue. In recent years, the Web API ecosystem has accumulated a wealth of knowledge that can be used to enhance the recommendation models, and however, current concerns in this regard still remain. To cope with this issue, we present a graph-based algorithmic framework for the task of mashup-oriented API recommendation. Especially, we design a concise schema of the knowledge graph to encode the mashup-specific contexts and model the mashup requirement with graphic entities. We then exploit random walks with restart to assess the potential relevance between the mashup requirement and the Web APIs according to the knowledge graph. In addition, we propose the query-specific weighting strategies to enhance the knowledge graph construction. The experimental results demonstrate that our proposed method is much superior to some state-of-the-art methods, also achieves robust effects on reducing computational overhead, and suppresses the negative Matthew effect in APIs' recommendation. INDEX TERMS Mashup development, API recommendation, random walks with restart, knowledge graph.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.