Linda - Computing communication fingerprints of services

Linda computes a fingerprint of a service. A fingerprint abstracts away from any control flow, and merely describes the linear dependencies of the number of certain event occurrences. This abstract representation of a service may be used for compatibility quick checks to boost performance during service discovery. Linda provides the input for Yasmina.

Linda Science

You may read more about the theory behind Linda, and find a case study in this paper (Oanea, Sürmeli, Wolf, ICSOC 2010).

Download Linda

Version history

Linda has been developed for quite some time now. See the ChangeLog for details or try out the older versions.


Linda is open source software, licensed under the AGPL3+.

Install Linda


Installing and running Linda requires a bunch of other tools:

Compiling requires:

Testing requires:

Contributing requires:

  • Bison - Gnu parser generator - Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.
  • GNU Gengetopt - Gengetopt generates a C function that uses getopt_long function to parse the command line options, to validate them and fills a struct .
  • flex: The Fast Lexical Analyzer - Flex is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in text. The flex program reads user-specified input files, or its standard input if no file names are given, for a description of a scanner to generate.

Quick install

Extract the tar ball into a folder of your choice, and follow the steps below.

  1. Configure
  2. Compile
  3. Test (optional, but recommended)
    make check
  4. Install
    sudo make install


Linda's manual explains usage, features, and a brief scientifical background. If you are further interested learning more about the science behind Linda, please consult Linda's science section.


Linda's documentation aims at the developer in you. If you are interested in implementation details this is the right place for you to look.


The current maintainer of Linda is Jan Sürmeli.


Jan Sürmeli implemented Linda.


Several people have committed time, code, and advice to the development of Linda.

  • Jan Sürmeli (64 commits)
  • Niels Lohmann (30 commits)
  • Christian Gierds (5 commits)
  • Richard Müller (4 commits)
  • Christian Sura (2 commits)
  • Marvin Triebel (1 commit)
  • Andreas Lehmann (1 commit)