Publications in Book Series and Book Chapters

2023

Releasing Memory with Optimistic Access: A Hybrid Approach to Memory Reclamation and Allocation in Lock-Free Programs
Pedro Moreno and Ricardo Rocha. 35th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2023), ACM, pages 177-186. Orlando, Florida, USA, June 2023.

2021

Towards an Elastic Lock-Free Hash Trie Design
Miguel Areias and Ricardo Rocha. 20th International Symposium on Parallel and Distributed Computing (ISPDC 2021), IEEE Computer Society, pages 9-16. Cluj-Napoca, Romania, July 2021 (online event).

2020

A Compression-Based Design for Higher Throughput in a Lock-Free Hash Map
Pedro Moreno, Miguel Areias and Ricardo Rocha. 26th International European Conference on Parallel and Distributed Computing (Euro-Par 2020), Springer, LNCS 12247, pages 458–473. Warsaw, Poland, August 2020 (online event).

2019

Memory Reclamation Methods for Lock-Free Hash Tries
Pedro Moreno, Miguel Areias and Ricardo Rocha. International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD 2019), IEEE Computer Society, pages 188-195. Campo Grande, Brazil, October 2019.

A Lock-Free Coalescing-Capable Mechanism for Memory Management
Ricardo Leite and Ricardo Rocha. International Symposium on Memory Management (ISMM 2019), ACM, pages 79-88. Phoenix, Arizona, USA, June 2019.

2018

On Extending a Fixed Size, Persistent and Lock-Free Hash Map Design to Store Sorted Keys
Miguel Areias and Ricardo Rocha. 16th IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA 2018), IEEE Computer Society, pages 415-422. Melbourne, Australia, December 2018.

LRMalloc: a Modern and Competitive Lock-Free Dynamic Memory Allocator
Ricardo Leite and Ricardo Rocha. 13th International Meeting on High Performance Computing for Computational Science (VECPAR 2018), Springer, LNCS 11333, pages 230-243. São Pedro, São Paulo, Brazil, September 2018.

On Applying Probabilistic Logic Programming to Breast Cancer Data
Joana Côrte-Real, Inês Dutra and Ricardo Rocha. 27th International Conference on Inductive Logic Programming (ILP 2017), Springer, LNAI 10759, pages 31-45. Orléans, France, September 2017. Published in 2018.

2017

Towards a Lock-Free, Fixed Size and Persistent Hash Map Design
Miguel Areias and Ricardo Rocha. International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD 2017), IEEE Computer Society, pages 145-152. Campinas, Brazil, October 2017.

Estimation-Based Search Space Traversal in PILP Environments
Joana Côrte-Real, Inês Dutra and Ricardo Rocha. 26th International Conference on Inductive Logic Programming (ILP 2016), Springer, LNAI 10326, pages 1-13. London, UK, September 2016. Published in 2017.

Using Iterative Deepening for Probabilistic Logic Inference
Theofrastos Mantadelis and Ricardo Rocha. 19th International Symposium on Practical Aspects of Declarative Languages (PADL 2017), Springer, LNCS 10137, pages 198-213. Paris, France, January 2017.

2016

Declarative Coordination of Graph-Based Parallel Programs
Flávio Cruz, Seth Copen Goldstein and Ricardo Rocha. 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2016), ACM, pages 1-12. Barcelona, Spain, March 2016.

2015

Batched Evaluation of Full-Sharing Multithreaded Tabling
Miguel Areias and Ricardo Rocha. 4th Symposium on Languages, Applications and Technologies (SLATE 2015), Springer, CCIS 563, pages 113-124. Madrid, Spain, June 2015.

On Compiling Linear Logic Programs with Comprehensions, Aggregates and Rule Priorities
Flávio Cruz and Ricardo Rocha. 17th International Symposium on Practical Aspects of Declarative Languages (PADL 2015), Springer, LNCS 9131, pages 34-49. Portland, Oregon, USA, June 2015.

2014

Design and Implementation of a Multithreaded Virtual Machine for Executing Linear Logic Programs
Flávio Cruz, Ricardo Rocha and Seth Copen Goldstein. 16th International Symposium on Principles and Practice of Declarative Programming (PPDP 2014), ACM, pages 43-53. Canterbury, UK, September 2014.

On the Correctness and Efficiency of Lock-Free Expandable Tries for Tabled Logic Programs
Miguel Areias and Ricardo Rocha. 16th International Symposium on Practical Aspects of Declarative Languages (PADL 2014), Springer, LNCS 8324, pages 168-183. San Diego, California, USA, January 2014.

2013

Prolog Programming with a Map-Reduce Parallel Construct
Joana Côrte-Real, Inês Dutra and Ricardo Rocha. 15th International Symposium on Principles and Practice of Declarative Programming (PPDP 2013), ACM, pages 285-295. Madrid, Spain, September 2013.

On the Efficient Implementation of Mode-Directed Tabling
João Santos and Ricardo Rocha. 15th International Symposium on Practical Aspects of Declarative Languages (PADL 2013), Springer, LNCS 7752, pages 141-156. Rome, Italy, January 2013.

2012

An Efficient and Scalable Memory Allocator for Multithreaded Tabled Evaluation of Logic Programs
Miguel Areias and Ricardo Rocha. 18th International Conference on Parallel and Distributed Systems (ICPADS 2012), IEEE Computer Society, pages 636-643. Singapore, December 2012.

Or-Parallel Prolog Execution on Multicores Based on Stack Splitting
Rui Vieira, Ricardo Rocha and Fernando Silva. 7th International Workshop on Declarative Aspects and Applications of Multicore Programming (DAMP 2012), ACM, pages 1-9. Philadelphia, Pennsylvania, USA, January 2012.

2011

A Subterm-Based Global Trie for Tabled Evaluation of Logic Programs
João Raimundo and Ricardo Rocha. 15th Portuguese Conference on Artificial Intelligence (EPIA 2011), Springer, LNAI 7026, pages 239-253. Lisboa, Portugal, October 2011.

2010

Retroactive Subsumption-Based Tabled Evaluation of Logic Programs
Flávio Cruz and Ricardo Rocha. 12th European Conference on Logics in Artificial Intelligence (JELIA 2010), Springer, LNAI 6341, pages 130-142. Helsinki, Finland, September 2010.

Preprocessing Boolean Formulae for BDDs in a Probabilistic Context
Theofrastos Mantadelis, Ricardo Rocha, Angelika Kimmig and Gerda Janssens. 12th European Conference on Logics in Artificial Intelligence (JELIA 2010), Springer, LNAI 6341, pages 262-274. Helsinki, Finland, September 2010.

Compact Lists for Tabled Evaluation
João Raimundo and Ricardo Rocha. 12th International Symposium on Practical Aspects of Declarative Languages (PADL 2010), Springer, LNCS 5937, pages 249-263. Madrid, Spain, January 2010.

An Efficient Implementation of Linear Tabling Based on Dynamic Reordering of Alternatives
Miguel Areias and Ricardo Rocha. 12th International Symposium on Practical Aspects of Declarative Languages (PADL 2010), Springer, LNCS 5937, pages 279-293. Madrid, Spain, January 2010.

2009

On Improving the Efficiency of Deterministic Calls and Answers in Tabled Logic Programs
Miguel Areias and Ricardo Rocha. 14th Portuguese Conference on Artificial Intelligence (EPIA 2009), Springer, LNAI 5816, pages 113-125. Aveiro, Portugal, October 2009.

A Term-Based Global Trie for Tabled Logic Programs
Jorge Costa, João Raimundo and Ricardo Rocha. 25th International Conference on Logic Programming (ICLP 2009), Springer, LNCS 5649, pages 205-219. Pasadena, California, USA, July 2009.

High Level Thread-Based Competitive Or-Parallelism in Logtalk
Paulo Moura, Ricardo Rocha and Sara C. Madeira. 11th International Symposium on Practical Aspects of Declarative Languages (PADL 2009), Springer, LNCS 5418, pages 107-121. Savannah, Georgia, USA, January 2009.

One Table Fits All
Jorge Costa and Ricardo Rocha. 11th International Symposium on Practical Aspects of Declarative Languages (PADL 2009), Springer, LNCS 5418, pages 195-208. Savannah, Georgia, USA, January 2009.

Relational Models for Tabling Logic Programs in a Database
Pedro Costa, Ricardo Rocha and Michel Ferreira. 21st Workshop on (Constraint) Logic Programming (WLP 2007), Springer, LNAI 5437, pages 99-116. Würzburg, Germany, October 2007. Published in 2009.

2008

On the Efficient Execution of ProbLog Programs
Angelika Kimmig, Vítor Santos Costa, Ricardo Rocha, Bart Demoen and Luc De Raedt. 24th International Conference on Logic Programming (ICLP 2008), Springer, LNCS 5366, pages 175-189. Udine, Italy, December 2008.

Thread-Based Competitive Or-Parallelism
Paulo Moura, Ricardo Rocha and Sara C. Madeira. 24th International Conference on Logic Programming (ICLP 2008), Springer, LNCS 5366, pages 713-717. Udine, Italy, December 2008.

Global Storing Mechanisms for Tabled Evaluation
Jorge Costa and Ricardo Rocha. 24th International Conference on Logic Programming (ICLP 2008), Springer, LNCS 5366, pages 708-712. Udine, Italy, December 2008.

k-RNN: k-Relational Neareast Neighbour Algorithm
Nuno A. Fonseca, Vítor Santos Costa, Ricardo Rocha and Rui Camacho. 23rd Annual ACM Symposium on Applied Computing (SAC 2008), ACM, pages 944-948. Fortaleza, Ceará, Brazil, March 2008.

An Improved Continuation Call-Based Implementation of Tabling
Pablo Chico, Manuel Carro, Manuel V. Hermenegildo, Cláudio Silva and Ricardo Rocha. 10th International Symposium on Practical Aspects of Declarative Languages (PADL 2008), Springer, LNCS 4902, pages 197-213. San Francisco, California, USA, January 2008.

ILP :- Just Trie It
Rui Camacho, Nuno A. Fonseca, Ricardo Rocha and Vítor Santos Costa. 17th International Conference on Inductive Logic Programming (ILP 2007), Springer, LNAI 4894, pages 78-87. Corvallis, Oregon, USA, June 2007. Published in 2008.

2007

On Applying Program Transformation to Implement Suspension-Based Tabling in Prolog
Ricardo Rocha, Cláudio Silva and Ricardo Lopes. 23rd International Conference on Logic Programming (ICLP 2007), Springer, LNCS 4670, pages 444-445. Porto, Portugal, September 2007.

On Improving the Efficiency and Robustness of Table Storage Mechanisms for Tabled Evaluation
Ricardo Rocha. 9th International Symposium on Practical Aspects of Declarative Languages (PADL 2007), Springer, LNCS 4354, pages 155-169. Nice, France, January 2007.

2006

Efficient and Scalable Induction of Logic Programs using a Deductive Database System
Michel Ferreira, Nuno A. Fonseca, Ricardo Rocha and Tiago Soares. 16th International Conference on Inductive Logic Programming (ILP 2006), Springer, LNAI 4455, pages 184-198. Santiago de Compostela, Spain, August 2006.

Handling Incomplete and Complete Tables in Tabled Logic Programs
Ricardo Rocha. 22nd International Conference on Logic Programming (ICLP 2006), Springer, LNCS 4079, pages 427-428. Seattle, Washington, USA, August 2006.

An External Module for Implementing Linear Tabling in Prolog
Cláudio Silva, Ricardo Rocha and Ricardo Lopes. 22nd International Conference on Logic Programming (ICLP 2006), Springer, LNCS 4079, pages 429-430. Seattle, Washington, USA, August 2006.

Generic Cut Actions for External Prolog Predicates
Tiago Soares, Ricardo Rocha and Michel Ferreira. 8th International Symposium on Practical Aspects of Declarative Languages (PADL 2006), Springer, LNCS 3819, pages 16-30. Charleston, South Carolina, USA, January 2006.

2005

On Applying Tabling to Inductive Logic Programming
Ricardo Rocha, Nuno Fonseca and Vítor Santos Costa. 16th European Conference on Machine Learning (ECML 2005), Springer, LNAI 3720, pages 707-714. Porto, Portugal. October 2005.

Dynamic Mixed-Strategy Evaluation of Tabled Logic Programs
Ricardo Rocha, Fernando Silva and Vítor Santos Costa. 21th International Conference on Logic Programming (ICLP 2005), Springer, LNCS 3668, pages 250-264. Sitges, Spain, October 2005.

IMPACT: Innovative Models for Prolog with Advanced Control and Tabling
Ricardo Rocha, Ricardo Lopes, Fernando Silva and Vítor Santos Costa. 21th International Conference on Logic Programming (ICLP 2005), Springer, LNCS 3668, pages 416-417. Sitges, Spain, October 2005.

2004

The MyYapDB Deductive Database System
Michel Ferreira and Ricardo Rocha. 9th European Conference on Logics in Artificial Intelligence (JELIA 2004), Springer, LNAI 3229, pages 710-713. Lisbon, Portugal, September 2004.

Speculative Computations in Or-Parallel Tabled Logic Programs
Ricardo Rocha, Fernando Silva and Vítor Santos Costa. 20th International Conference on Logic Programming (ICLP 2004), Springer, LNCS 3132, pages 254-268. Saint-Malo, France, September 2004.

Concurrent Table Accesses in Parallel Tabled Logic Programs
Ricardo Rocha, Fernando Silva and Vítor Santos Costa. 10th International Euro-Par Conference (Euro-Par 2004), Springer, LNCS 3149, pages 662-670. Pisa, Italy, August/September 2004.

2003

YapDss: an Or-Parallel Prolog System for Scalable Beowulf Clusters
Ricardo Rocha, Fernando Silva and Rolando Martins. 11th Portuguese Conference on Artificial Intelligence (EPIA 2003), Springer, LNAI 2902, pages 136-150. Beja, Portugal, December 2003.

Efficient Data Structures for Inductive Logic Programming
Nuno Fonseca, Ricardo Rocha, Rui Camacho and Fernando Silva. 13th International Conference on Inductive Logic Programming (ILP 2003), Springer, LNAI 2835, pages 130-145. Szeged, Hungary, September/October 2003.

2002

Achieving Scalability in Parallel Tabled Logic Programs
Ricardo Rocha, Fernando Silva and Vítor Santos Costa. 16th International Parallel and Distributed Processing Symposium (IPDPS 2002), IEEE Computer Society. Fort Lauderdale, Florida, April 2002.

2001

On a Tabling Engine That Can Exploit Or-Parallelism
Ricardo Rocha, Fernando Silva and Vítor Santos Costa. 17th International Conference on Logic Programming (ICLP 2001), Springer, LNCS 2237, pages 43-58. Paphos, Cyprus, November/December 2001.

2000

Novel Models for Or-Parallel Logic Programs: A Performance Analysis
Vítor Santos Costa, Ricardo Rocha and Fernando Silva. 6th International Euro-Par Conference (Euro-Par 2000), Springer, LNCS 1900, pages 744-753. Munich, Germany, August/September 2000.

1999

YapOr: an Or-Parallel Prolog System Based on Environment Copying
Ricardo Rocha, Fernando Silva and Vítor Santos Costa. 9th Portuguese Conference on Artificial Intelligence (EPIA 1999), Springer, LNAI 1695, pages 178-192. Évora, Portugal, September 1999.

Or-Parallelism within Tabling
Ricardo Rocha, Fernando Silva and Vítor Santos Costa. 1st International Workshop on Practical Aspects of Declarative Languages (PADL 1999), Springer, LNCS 1551, pages 137-151. San Antonio, Texas, January 1999.