polystat / odin

Object Dependency Inspector
10 stars 2 forks source link

Support SARIF reporting format #22

Closed fizruk closed 2 years ago

fizruk commented 2 years ago

We need odin to be compatible with polystat to produce valid SARIF-formatted output (see #20 for reference). This should already be ready in v0.2.0 (#21), but proper proof of work is pending.

@nikololiahim @Leosimetti please write here when this is checked.

nikololiahim commented 2 years ago

Having run Polystat (with Odin v0.2.1) with the following command:

java -jar target/polystat-1.0-SNAPSHOT-jar-with-dependencies.jar --sarif sandbox tmp

against the following EO code:

+package sandbox
+alias stdout org.eolang.io.stdout
+alias sprintf org.eolang.txt.sprintf

[] > test
  memory > x
  [] > base
    [self] > g
      self.f self 2 > @
    [self v] > f
      x.write > @
        v.div 0

  [] > derived
    test.base > @
    [self v] > f
      self.g > @
        self
        v

produced the following output (prettified):

{'results': [{'message': 'test.derived: test.derived.g (was last redefined in '
                         '"test.base") -> test.derived.f -> test.derived.g '
                         '(was last redefined in "test.base")',
              'ruleId': 'AnOdin'}]}

Seems like it works.