Web Analytics

Extension of a Java library for binary relational algebra

 
SIG has extended and improved a pure Java library for binary relational algebra. The library offers the basic operations of binary relational algebra (inverse, compose, union, etc) in the form of a simple API. In addition, some graph-related operations are offered (e.g. slicing and transitive closure) as well as the split operation of fork algebra.
 
Underneath the API, several implementations are offered with different time-space behaviour. The library can be used in the context of large-scale source code analysis, where dependencies extracted from diverse software systems are processed to obtain metrics information and graphical overviews.
 
The first objective of this project is to extend SIG’s library to support not only binary relations, but also so-called labeled binary relations, where each relation between two elements is augmented with a label. Such labels should implement an appropriate interface that guarantees that labels can be combined when relations are combined. This extension will increase the expressiveness of the existing library and its capabilities to address a wider range of problems.
 
Developers:
The developers are Márcio Coelho and Filipe Teixeira, Master students.
 
Context:
The project is a collaboration between SIG and the University of Minho. It is being carried out as a practical assignment in the context of the MFES (Formal Methods in Software Engineering) specialization course of the Master Course in Informatics.