Sam is a tool for mining Live Sequence Charts from a log file that contains traces of application executions, it is part of the tool suite Sam that provides tools for Scenario-based Analysis and Methods.
SAM can discover from a given log linear-time invariants in the form of universal Live Sequence Charts (LSCs) and branching-time scenarios in the form of conditional, existential LSCs. Examples of discovered scenarios from real applications are linked at the end of this page.
Sam is an open source tool written in Java. Its sources are available from github.com/scenario-based-tools/sam. A binary package together with a manual and two log files can be downloaded here.
Sam reads log files that are stored in XES format (see http://www.xes-standard.org/). An event of a trace is expected to have the following format:
The crucial attributes for Sam are sender, receiver and concept:name which together define that component sender invoked the method written in concept:name at component receiver.
We provide two example logs from two different applications
The manual provided with Sam gives details how to invoke sam to discover scenarios. The following results have been obtained from the example logs with different invocation parameters.
Note: coverage trees that show where an LSC occurs in the input tree are not available in this zip due to size limitations. However, these trees can be generated automatically by Sam, see the manual of the binary release for details.