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

2018

TensorCast: Forecasting Time-Evolving Networks with Contextual Information

Authors
Araujo, M; Pinto Ribeiro, PM; Faloutsos, C;

Publication
Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI 2018, July 13-19, 2018, Stockholm, Sweden.

Abstract

2018

Fast Streaming Small Graph Canonization

Authors
Paredes, P; Ribeiro, P;

Publication
COMPLEX NETWORKS IX

Abstract
In this paper, we introduce the streaming graph canonization problem. Its goal is finding a canonical representation of a sequence of graphs in a stream. Our model of a stream fixes the graph's vertices and allows for fully dynamic edge changes, meaning it permits both addition and removal of edges. Our focus is on small graphs, since small graph isomorphism is an important primitive of many subgraph-based metrics, like motif analysis or frequent subgraph mining. We present an efficient data structure to approach this problem, namely a graph isomorphism discrete finite automaton and showcase its efficiency when compared to a non-streaming-aware method that simply recomputes the isomorphism information from scratch in each iteration.

2018

Automatic Habitat Mapping using Convolutional Neural Networks

Authors
Diegues, A; Pinto, J; Ribeiro, P; Frias, R; Alegre, DC;

Publication
2018 IEEE/OES AUTONOMOUS UNDERWATER VEHICLE WORKSHOP (AUV)

Abstract
Habitat mapping is an important task to manage ecosystems. This task becomes most challenging when it comes to marine habitats as it is hard to get good images in underwater conditions and to precisely locate them. In this paper we present a novel technique for performing habitat mapping automating all phases, from data collection to classification, lowering costs and increasing efficiency throughout the process. For mapping habitats in a vast coastal region, we use visible light cameras mounted on autonomous underwater vehicles, capable of collecting and geo-locating all acquired data. The optic images are enhanced using Computer Vision techniques, to help specialists identify the habitats they contain (during training phase). In a later stage, we employ convolutional neural networks to automatically identify habitats in all imagery. Habitats are classified according to the European Nature Information System, an European classification standard for habitats.

2018

TensorCast: Forecasting time-evolving networks with contextual information

Authors
Araújo M.; Ribeiro P.; Faloutsos C.;

Publication
IJCAI International Joint Conference on Artificial Intelligence

Abstract
Can we forecast future connections in a social network? Can we predict who will start using a given hashtag in Twitter, leveraging contextual information such as who follows or retweets whom to improve our predictions? In this paper we present an abridged report of TENSORCAST, a method for forecasting time-evolving networks, that uses coupled tensors to incorporate multiple information sources. TENSORCAST is scalable (linearithmic on the number of connections), effective (more precise than competing methods) and general (applicable to any data source representable by a tensor). We also showcase our method when applied to forecast two large scale heterogeneous real world temporal networks, namely Twitter and DBLP.

2018

CSS Preprocessing: Tools and Automation Techniques

Authors
Queirós, R;

Publication
INFORMATION

Abstract
Cascading Style Sheets (CSS) is a W3C specification for a style sheet language used for describing the presentation of a document written in a markup language, more precisely, for styling Web documents. However, in the last few years, the landscape for CSS development has changed dramatically with the appearance of several languages and tools aiming to help developers build clean, modular and performance-aware CSS. These new approaches give developers mechanisms to preprocess CSS rules through the use of programming constructs, defined as CSS preprocessors, with the ultimate goal to bring those missing constructs to the CSS realm and to foster stylesheets structured programming. At the same time, a new set of tools appeared, defined as postprocessors, for extension and automation purposes covering a broad set of features ranging from identifying unused and duplicate code to applying vendor prefixes. With all these tools and techniques in hands, developers need to provide a consistent workflow to foster CSS modular coding. This paper aims to present an introductory survey on the CSS processors. The survey gathers information on a specific set of processors, categorizes them and compares their features regarding a set of predefined criteria such as: maturity, coverage and performance. Finally, we propose a basic set of best practices in order to setup a simple and pragmatic styling code workflow.

2018

Kaang: A RESTful API Generator for the Modern Web

Authors
Queirós, R;

Publication
7th Symposium on Languages, Applications and Technologies, SLATE 2018, June 21-22, 2018, Guimaraes, Portugal

Abstract
Technology is constantly evolving, as a result, users have become more demanding and the applications more complex. In the realm of Web development, JavaScript is growing in a surprising way, already leaving the boundaries of the browser, mainly due to the advent of Node.js. In fact, JavaScript is constantly being reinvented and, from the ES2015 version, began to include the OO concepts typically found in other programming languages. With Web access being mostly made by mobile devices, developers face now performance challenges and need to perform a plethora of tasks that weren’t necessary a decade ago, such as managing dependencies, bundling files, minifying code, optimizing images and others. Many of these tasks can be achieved by using the right tools for the job. However, developers not only have to know those tools, but they also must know how to access and operate them. This process can be tedious, confusing, time-consuming and error-prone. In this paper, we present Kaang, an automatic generator of RESTFul Web applications. The ultimate goal of Kaang is to minimize the impact of creating a RESTFul service by automating all its workflow (e.g., files structuring, boilerplate code generation, dependencies management, and task building). This kind of generators will benefit two types of users: will help novice developers to decrease their learning curve while facing the new frameworks and libraries commonly found in the modern Web and speed up the work of expert developers avoiding all the repetitive and bureaucratic work. At the same time, Kaang promotes the good development principles by adding automatic testing and documentation generation. For this accomplishment, Kaang generates the main API content based on the user’s input and a set of templates which will help developers to manage and test routes, define resources, store data models and others. In order to provide an addition level of confidence to the generator’s end-users, the generator will be integrated on Travis CI and published on both the npmjs and Yeoman registries. © Ricardo Queirós.

  • 64
  • 192