Pri-views is a tool that allows, given a relation table, to produce views (vertical fragments) over it, in such a way to protect the privacy of possible sensitive information while providing maximal visibility over the data.
License Programming Language Operating System/Platform Category Intended Audience Download
Eclipse Public License, EPL Java SE 6 (frontend), and C++ (backend) Windows XP-7, Linux, MacOS 64/32 Distribuited Database, Fragmentation, Privacy Developers, Google Code

Pri-views is based on a greedy algorithm designed by UNIBG and UNIMI to solve the problem of creating unlinkable fragments in the storage of sensitive attributes. The presented algorithm departs from the use of encryption, while usually in the literature, this kind of problem has been addressed using both fragmentation and encryption. The tool is composed of two applications: the first implements the proposed greedy algorithm (developed in C++), while the second realizes its Graphical User Interface (developed in Java).

How to Install

Please follow the instructions of the installation guide.

How to Use

After the start of the Java program, the reader has to create a new project using the menu File > New.... Assuming the project is called Example and 7 attributes are used, the reader has to insert Example and 7 in the two fields of the dialog, and then press the Ok button.

Now the reader can insert the following 5 constraints represented as a string of bits where 1 means that the attribute is part of the constraint and the left most value represents the first attribute:

  • 1 0 0 0 1 0 0
  • 1 0 1 0 0 0 0
  • 0 1 0 1 1 0 0
  • 0 1 1 1 0 0 0
  • 0 0 0 0 1 1 0

For each constraint, the reader has to click the menu Project > Add Constraint..., check the checkboxes corresponding to the attributes set to 1, and then click the Add button.

After that, the reader can insert the following 6 targets with the associated weight:

  • 0 0 0 1 1 0 0, with weight 5
  • 0 1 0 0 1 0 0, with weight 4
  • 0 0 0 0 1 1 0, with weight 10
  • 0 0 1 0 1 0 0, with weight 1
  • 0 0 0 0 1 0 0, with weight 7
  • 0 0 1 1 0 0 1, with weight 7

For each target, the reader has to click the menu Project > Add Target..., insert the relative weight, and check the checkboxes corresponding to the attributes set to 1. Finally, the reader can click the Add button to save the target.

The last step is to run the experiment using the menu Project > Run.... Now, the application asks to save the project, and then shows the dialog used to start the experiments. The reader has to insert the values 7 and 7 in the fields of the dialog and then press the Ok button. The next figure shows the result of the experiment. In the string of bits representing the solution, value 1 means that the attribute belongs to Fo, the remaining attributes compose Fs.

Target Audience

  • Developers who want to use state of the art algorithms to implement protection mechanisms based on fragmentation.

Future Plans

We plan to extend the tool with future results of the research of the Universities of Bergamon and Milano.

Further Information


File Size: 1,70 MB


Platform: C++ and Java 6

Architecture: Standalone application


License: Eclipse Public License, EPL

Download: Source code and binary , Google-Code Project




  • V. Ciriani, S. De Capitani di Vimercati, S. Foresti, S. Jajodia, S. Paraboschi, and P. Samarati, Keep a Few: Outsourcing Data while Maintaining Confidentiality, in Proc. of the 14th European Symposium On Research In Computer Security (ESORICS 2009), Saint Malo, France, September 21-25, 2009

Contact: This e-mail address is being protected from spambots. You need JavaScript enabled to view it  

Last update: May 2011