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

2019

Finding Dominant Nodes Using Graphlets

Authors
Aparício, D; Ribeiro, P; Silva, F; Silva, JMB;

Publication
Complex Networks and Their Applications VIII - Volume 1 Proceedings of the Eighth International Conference on Complex Networks and Their Applications COMPLEX NETWORKS 2019, Lisbon, Portugal, December 10-12, 2019.

Abstract
Finding important nodes is a classic task in network science. Nodes are important depending on the context; e.g., they can be (i) nodes that, when removed, cause the network to collapse or (ii) influential spreaders (e.g., of information, or of diseases). Typically, central nodes are assumed to be important, and numerous network centrality measures have been proposed such as the degree centrality, the betweenness centrality, and the subgraph centrality. However, centrality measures are not tailored to capture one particular kind of important nodes: dominant nodes. We define dominant nodes as nodes that dominate many others and are not dominated by many others. We then propose a general graphlet-based measure of node dominance called graphlet-dominance (GD). We analyze how GD differs from traditional network centrality measures. We also study how certain parameters (namely the importance of dominating versus not being dominated and indirect versus direct dominances) influence GD. Finally, we apply GD to author ranking and verify that GD is superior to PageRank in four of the five citation networks tested. © 2020, Springer Nature Switzerland AG.

2019

Estimating time and score uncertainty in generating successful learning paths under time constraints

Authors
Nabizadeh, AH; Jorge, AM; Leal, JP;

Publication
EXPERT SYSTEMS

Abstract
This paper addresses the problem of course (path) generation when a learner's available time is not enough to follow the complete course. We propose a method to recommend successful paths regarding a learner's available time and his/her knowledge background. Our recommender is an instance of long term goal recommender systems (LTRS). This method, after locating a target learner in a course graph, applies a depth-first search algorithm to find all paths for the learner given a time limitation. In addition, our method estimates learning time and score for all paths. It also indicates the probability of error for the estimated time and score for each path. Finally, our method recommends a path that satisfies the learner's time restriction while maximizing expected learning score. In order to evaluate our proposals for time and score estimation, we used the mean absolute error and average MAE. We have evaluated time and score estimation methods, including one proposed in the literature, on two E-learning datasets.

2019

Quarmic: A Data-Driven Web Development Framework

Authors
Pereira Cunha, PM; Leal, JP;

Publication
8th Symposium on Languages, Applications and Technologies, SLATE 2019, June 27-28, 2019, Coimbra, Portugal.

Abstract
Quarmic is a web framework for rapid prototyping of web applications. Its main goal is to facilitate the development of web applications by providing a high level of abstraction that hides Web communication complexities. This framework allows developers to build scalable applications capable of handling data communication in different models, data persistence and authentication, requiring them just to use simple annotations. Quarmic’s approach consists of the replication of the shared object among clients and server in order to communicate through its methods execution. Where the annotations, namely decorators, are used to indicate the concern (model or view) that each method addresses and to implement the framework’s inversion of control. By indicating the method concern, it enables the separation of its execution across the clients (responsible for the view) and the server (responsible for the model) which facilitates the state management and code maintenance. © Pedro M. P. Cunha and José P. Leal.

2019

Defining Requirements for a Gamified Programming Exercises Format

Authors
Swacha, J; Queiros, R; Paiva, JC; Leal, JP;

Publication
KNOWLEDGE-BASED AND INTELLIGENT INFORMATION & ENGINEERING SYSTEMS (KES 2019)

Abstract
Computer programming is a complex domain both to teach and learn. This incited endeavors to find methods that could mitigate at least some of the existing barriers. In the last years, automatic assessment has been playing an important role in reducing the burden of teachers in the assessment of students' attempts to solve programming exercises and fostering the autonomy of students by allowing them to practice in any place and at any time with timely feedback. Even more recent development is the use of gamification in computer programming education in order to raise the enjoyment and engagement of students. Despite its rising spread, until now, there is not a programming exercise specification format addressing the needs of gamification, such as the definition of challenges, the underlying storyline, including the links to other exercises, or the rewards for solving challenges in form of points, badges or virtual items. Such a data format would allow the exchange of ready-to-use programming exercises along with the gamification-related data among different educational institutions and courses, providing instructors a possibility to make use of gamification in their courses without having to invest their own time in defining gamification rules themselves. In this paper, we analyze a set of concepts related to programming gamification developed in our previous work to identify the requirements for the specification of a gamified exercise format. (C) 2019 The Authors. Published by Elsevier B.V.

2019

Multi-dimensional lock-free arrays for multithreaded mode-directed tabling in Prolog

Authors
Areias, M; Rocha, R;

Publication
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE

Abstract
This work proposes a new design for the supporting data structures used to implement multithreaded tabling in Prolog systems. Tabling is an implementation technique that improves the expressiveness of traditional Prolog systems in dealing with recursion and redundant computations. Mode-directed tabling is an extension to the tabling technique that supports the definition of alternative criteria for specifying how answers are aggregated, thus being very suitable for problems where the goal is to dynamically calculate optimal or selective answers. In this work, we leverage the intrinsic potential that mode-directed tabling has to express dynamic programming problems by creating a new design that improves the representation of multi-dimensional arrays in the context of multithreaded tabling. To do so, we introduce a new mode for indexing arguments in mode-directed tabled evaluations, named dim, where each dim argument features a uni-dimensional lock-free array. Experimental results using well-known dynamic programming problems on a 32-core machine show that the new design introduces less overheads and clearly improves the execution time for sequential and multithreaded tabled evaluations.

2019

A Lock-Free Coalescing-Capable Mechanism for Memory Management

Authors
Leite, R; Rocha, R;

Publication
PROCEEDINGS OF THE 2019 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT (ISMM '19)

Abstract
One common characteristic among current lock-free memory allocators is that they rely on the operating system to manage memory since they lack a lower-level mechanism capable of splitting and coalescing blocks of memory. In this paper, we discuss this problem and we propose a generic scheme for an efficient lock-free best-fit coalescing-capable mechanism that is able of satisfying memory allocation requests with desirable low fragmentation characteristics.

  • 49
  • 192