Incremental analysis tester

This module contains the functionality to perform test of analysis.

This is a low-level interface, for analyzing consistently with ciaopp flags, use the incanal_intermod_bench_driver module.

Usage and interface

Documentation on exports

PREDICATEtest/4

Usage:test(TestId,TestTopLevel,TestName,Opts)

Runs a test of analysis. The configuration has is expressed as follows:

  • TestId: Identifier of the test, it must be specified in the test_dirs.pl file as the name of the directory in the bench directory that contains the test to be performed.
  • TestTopLevel: Main module of the (modular) program. %
  • NEdits: Number of editions each step of the test (number %of clauses to be added or deleted).
  • EditType: States whether the test is about adding or removing clauses
  • TestDir: Directory of the test.
  • AbsInt: Abstract domain that will be used for testing

    No further documentation available for this predicate.

    No further documentation available for this predicate.

    No further documentation available for this predicate.

    No further documentation available for this predicate.

    PREDICATEbench_dir/2

    Usage:bench_dir(Id,BDir)

    Based on Id gets the location of the benchmark.

      PREDICATEnochpt/1
      No further documentation available for this predicate. Meta-predicate with arguments: nochpt(goal).

      Usage:it_dump_gat_file(TestId,N,DumpF)

      Dumps the global answer table, i.e., the registry information in modular analysis of the state N of the sequence of states of test with id TestId, in file DumpF.

        Usage:it_dump_lat_file(TestId,N,I,DumpF)

        Dumps the local answer table, i.e., completes and memo_table information in modular analysis of the iteration I of the state N of the sequence of states of test with id TestId, in file DumpF.

          PREDICATEdump_lat/1

          Usage:dump_lat(ModIt)

          Dumps the local answer table in an iteration to a file. This is done to check the correctness of the analysis.

            Usage:remove_first_elems_list(Ls,N,NLs)

            Removes the first N elems of Ls.

            • The following properties should hold at call time:
              (list/1)Ls is a list.
              (int/1)N is an integer.
            • The following properties should hold upon exit:
              (list/1)NLs is a list.

            No further documentation available for this predicate.