{'fraction_non_alphanumeric': 0.027586206896551724, 'fraction_numerical': 0.0, 'mean_word_length': 5.637254901960785, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Complex Network-Based Web Service for Web-API Discovery

With the rapid and continual increase in the number and diversity of Web-APIs currently available on the Web, finding most appropriate Web-APIs to speed-up software development is becoming increasingly challenging. At the moment, Web-API consumers including mashup developers normally rely on Web-APIs repositories such as ProgrammableWeb and Mashapes to discover API of their interest. However, these registries are considered ineffective because: (a) Web APIs registered on these directories are in general isolated, as they are registered by diverse providers independently and progressively, without considering relevant dynamic information or continuous social interactions that exist among the services, which could influence their discovery (b) they cannot effectively respond to complex, mashup-oriented Web-API requests. In this paper, we address the above challenges from complex network perspective by constructing an evolving, complex-network-based Web service that leverages an online Google custom search service for recommending Web-APIs for mashup development. We conduct our study in three phases: First, we study the Web service ecosystem topological attributes using network analysis, and build an evolving network of Web service (Web-API) based on our findings using the theoretical procedure of the Barabási-Albert complex network model. Secondly, we dynamically grow the network and publish both nodes (Web-APIs) and edges (social connections) via an active web domain. Finally, we employ Google Page-Ranking feature to facilitate node ranking based on term frequency, functionality and node popularity information. To evaluate the performance of our framework, we create synthetic mashup requests based on original mashup profile. We validate our approach using ProgrammableWeb dataset, and experimental results show that our proposed framework is effective and outperform not only ProgrammableWeb approach but several other state-of-the-art methods.