Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by CRACS

2017

Scalable subgraph counting using MapReduce

Authors
Eddin, AN; Pinto Ribeiro, PM;

Publication
Proceedings of the Symposium on Applied Computing, SAC 2017, Marrakech, Morocco, April 3-7, 2017

Abstract
Networks are powerful in representing a wide variety of systems in many fields of study. Networks are composed of smaller substructures (subgraphs) that characterize them and give important information related to their topology and functionality. Therefore, discovering and counting these subgraph patterns is very important towards mining the features of networks. Algorithmically, subgraph counting in a network is a computationally hard problem and the needed execution time grows exponentially as the size of the subgraph or the network increases. The main goal of this paper is to contribute towards subgraph search, by providing an accessible and scalable parallel methodology for counting subgraphs. For that we present a dynamic iterative MapReduce strategy to parallelize algorithms that induce an unbalanced search tree, and apply it in the subgraph counting realm. At the core of our methods lies the g-trie, a state-of-the-art data structure that was created precisely for this task. Our strategy employs an adaptive time threshold and an efficient work-sharing mechanism to dynamically do load balancing between the workers. We evaluate our implementations using Spark on a large set of representative complex networks from different fields. The results obtained are very promising and we achieved a consistent and almost linear speedup up to 32 cores, with an average efficiency close to 80%. To the best of our knowledge this is the fastest and most scalable method for subgraph counting within the MapReduce programming model. Copyright 2017 ACM.

2017

TensorCast: Forecasting with Context using Coupled Tensors

Authors
Araujo, M; Ribeiro, P; Faloutsos, C;

Publication
2017 17TH IEEE INTERNATIONAL CONFERENCE ON DATA MINING (ICDM)

Abstract
Given an heterogeneous social network, can we forecast its future? Can we predict who will start using a given hashtag on twitter? Can we leverage side information, such as who retweets or follows whom, to improve our membership forecasts? We present TENSORCAST, a novel method that forecasts time-evolving networks more accurately than current state of the art methods by incorporating multiple data sources in coupled tensors. TENSORCAST is (a) scalable, being linearithmic on the number of connections; (b) effective, achieving over 20% improved precision on top-1000 forecasts of community members; (c) general, being applicable to data sources with different structure. We run our method on multiple real-world networks, including DBLP and a Twitter temporal network with over 310 million non-zeros, where we predict the evolution of the activity of the use of political hashtags.

2017

Network Motifs Detection Using Random Networks with Prescribed Subgraph Frequencies

Authors
Silva, MEP; Paredes, P; Ribeiro, P;

Publication
COMPLEX NETWORKS VIII

Abstract
In order to detect network motifs we need to evaluate the exceptionality of subgraphs in a given network. This is usually done by comparing subgraph frequencies on both the original and an ensemble of random networks keeping certain structural properties. The classical null model implies preserving the degree sequence. In this paper our focus is on a richer model that approximately fixes the frequency of subgraphs of size K - 1 to compute motifs of size K. We propose a method for generating random graphs under this model, and we provide algorithms for its efficient computation. We show empirical results of our proposed methodology on neurobiological networks, showcasing its efficiency and its differences when comparing to the traditional null model.

2017

A Survey on CSS Preprocessors

Authors
Queirós, R;

Publication
6th Symposium on Languages, Applications and Technologies, SLATE 2017, June 26-27, 2017, Vila do Conde, Portugal

Abstract
In the Web realm, the adoption of Cascading Style Sheets (CSS) is unanimous, being widely used for styling web documents. Despite their intensive use, this W3C specification was written for web designers with limit programming background. Thus, it lack several programming constructs, such as variables, conditional and repetitive blocks, and functions. This absence a ects negatively code reuse, and consequently, the maintenance of the styling code. In the last decade, several languages (e.g. Sass, Less) appeared to extend CSS, defined as CSS preprocessors, with the ultimate goal to bring those missing constructs and to foster stylesheets structured programming. The paper provides an introductory survey on CSS Preprocessors. It gathers information on a specific set of preprocessors, categorizes them and compares their features regarding a set of predefined criteria such as: maturity, coverage and performance. © Ricardo Queirós

2017

SOS - Simple Orchestration of Services

Authors
Queirós, R; Simões, A;

Publication
6th Symposium on Languages, Applications and Technologies, SLATE 2017, June 26-27, 2017, Vila do Conde, Portugal

Abstract
Nowadays, we continue to write redundant code which can often be reused from the Web. Reusing programming tasks is beneficial since it speeds up the process of creating applications and reduces the errors related with the task creation from scratch. At the same time, the demands of our applications are increasing, leading to a simple problem having to be solved through several tasks. With the advent of the cloud, there are countless Web services that proliferate on the Web. One solution for developers is to use these Web Services. However, the process of mastering and coordinating all these services manually is time-consuming and error-prone. This paper presents SOS, a Simple Orchestration of Services. The ultimate goal of this tool is to act as a service composer while promoting the separation of concerns for two typical actors in this realm: the developer and the business analyst. The developer must define a service as a SOS task based on a JSON schema and submit it in a Web specialized editor. The business analyst uses the SOS editor, in an interactive way, to chain the required tasks to solve a specific problem. Then, the developer, uses a a simple client API – a SOS engine wrapper – to load a SOS manifest and to iterate over all tasks, without the need to dominate any bureaucratic aspects related with HTTP clients and messages. As a case study, several tasks are instantiated and aggregated in order to generate a composite service for a mobile app whose goal is to give an translated description of a picture taken with a mobile phone. © Ricardo Queirós and Alberto Simões

2017

Magni - A Framework for Developing Context-Aware Mobile Applications

Authors
Queiros, R; Portela, F; Machado, J;

Publication
RECENT ADVANCES IN INFORMATION SYSTEMS AND TECHNOLOGIES, VOL 3

Abstract
The advent of Internet and ubiquitous technologies has been fostering the appearance of intelligent mobile applications aware of their environment and the objects nearby. Despite its popularity, mobile developers are often required to write large and disorganized amounts of code, mixing UI with business logic and interact, in a ad-hoc fashion, with sensor devices and services. These habits hinder the code maintenance, refactoring and testing, while negatively influencing the consistency and performance of mobile applications. In this paper we present Magni as an abstract framework for the design and implementation of personalized and context-aware mobile applications. The corner stone of the framework is its architectural pattern based on the Model-View-Presenter pattern in the UI layer relying in REST services the majority of the app features. This paradigm fosters the modular design, implementing the separation of concerns concept and allowing an easier implementation of unit tests. In order to validate the framework, we present a prototype for an healthcare automotive app. The main goal of the app is to facilitate the access to health related points of interest such as hospitals, clinics and pharmacies.

  • 78
  • 192