Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Robust Hashing for software models


Published on

A better way to search, classify and protect the intellectual property of your designs

Presented at the Models'18 conference.

See for more details

Published in: Software
  • Be the first to comment

  • Be the first to like this

Robust Hashing for software models

  1. 1. Robust Hashing for Models Salvador Martínez, Sébastien Gérard, Jordi Cabot @softmodeling –
  2. 2. The WHAT
  3. 3. hash function is any function that can be used to map data of arbitrary size to data of a fixed size.
  4. 4. Hashing vs Robust Hashing Hashing: Small changes on the input generate very different hashes Robust Hashing: Small variations on the input generate same or similar hashes Key to search/detect not only exact copies but also manipulated versions
  5. 5. Properties Robustness: Resistance to data distortions. Attempts to hide the copy are detected (avoid false negatives) Discrimination: Capacity to detect that two models are indeed diferent (avoid false positives)
  6. 6. The WHY
  7. 7. Outsourcing
  8. 8. Applications Search Classification Bucket classification Plagiarism detection Model diversity Accountability Blockchain IP Protection
  9. 9. The HOW
  10. 10. Requirements Independent of the storage format Independent of the graphical layout Independent of the concrete syntax Must take into account not only element properties but also their relationships
  11. 11. Overall process
  12. 12. Model fragmentation • To avoid using elements as hashing unit • Created independently of each other • Do not need to satisfy any semantic criteria • Many, overlapping fragments for resilience • Each fragment gets a signature via a minhash
  13. 13. Fragmentation example Summaries could be adapted for specific model types to increase robustness against particular “attacks”
  14. 14. Classification of fragments • We group similar fragments in the same bucket via Locality Sensitive hashing • Buckets minimize the effect of model variations (they end up still in the same bucket) • We take only a few samples per bucket • Mutations are not propagated across buckets
  15. 15. Does it work?
  16. 16. Robustness: Tested by automatically mutating an initial set of models Discrimination: Tested by taking models from the ATL zoo and checking they are recognized as different (even if some of them use a similar vocabulary)
  17. 17. Securing modeling platform Watermarking Secure views
  18. 18. EVEN
  19. 19. Get in touch jordi.cabot@ @softmodeling