Permalink
Switch branches/tags
Nothing to show
Commits on Apr 30, 2017
  1. Fixed bug for Liao specific to generation of names of types for lambd…

    danquinlan committed Apr 30, 2017
    …as used in template arguments for template instantiations. Also fixed static_assert for C++11 (previously only output correct name for C11). Reported bug to EDG for C language test (test2008_01.c) which is a bug in the C language EDG AST.
Commits on Apr 29, 2017
Commits on Apr 28, 2017
  1. (Binary Analysis) P2::Engine prunes memory map

    matzke1 committed Apr 28, 2017
    The P2::Engine::memoryMap gets pruned to remove parts of buffers
    that are unmapped. A side effect is that this also removes sharing,
    where the same buffer is mapped to two or more addresses.
    
    ROSE-880
  2. Updates autoconf files

    joshuata committed Apr 28, 2017
    * Adds z3 library detection
    * Modifies Apple compiler detection so that user installed compilers can
      be used as well. Previously the script assumed that any compiler on
      macOS was Apple LLVM.
  3. (Binary Analysis) Created a tool to generate XML from binary specimens

    matzke1 committed Apr 28, 2017
    This tool generates XML for either a binary analysis AST or the
    binary analysis P2::Partitioner. The XML can be converted to
    JSON with 3rd party filters.
  4. Merge ../estcp into various

    matzke1 committed Apr 28, 2017
Commits on Apr 27, 2017
  1. (Binary Analysis) Fixed a bug in the partitioner

    matzke1 committed Apr 27, 2017
    When the partitioner is checking whether a CALL instruction
    is being used as an unconditional branch, it should account
    for the target function being exactly one basic block in length.
  2. (Binary Analysis) New reachability analysis

    matzke1 committed Apr 27, 2017
    Given reachability information in the form of a set of bits of
    an "unsigned int" assigned as intrinsic reachability for certain
    CFG vertices, propagate those bits through the CFG thus marking
    what other vertices are reachable.
  3. (Binary Analysis) Data-flow now works for value types

    matzke1 committed Apr 27, 2017
    THIS IS AN API CHANGE
    
    rose::BinaryAnalysis::DataFlow::Engine has been generalized to work
    for states that are either pointers or values.
    
    * The transfer function no longer needs a single-argument function
      operator.
    
    * The transfer function must have a printState method that takes
      a state as an argument and returns a string. The string may
      be empty, one line, or multiple lines.
    
    * The merge function's first argument can be modified directly
      rather than modifying only the pointed-to value. See next
      bullet.
    
    * In the situation when states are instruction semantic state
      pointers (e.g., rose::BinaryAnalysis::InstructionSemantics2
      ::BaseSemantics::StatePtr), the first argument might be a
      null pointer, in which case the second argument should be
      copied and assigned to the first argument reference.  This
      is why the 1-argument transfer function operator is no longer
      needed.
    
    * The two-arg "reset" method has been split into two parts:
      (1) "reset" which takes one argument: the state to assign to
      every vertex. For pointer states it's normally null, and for
      value states it's whatever starting value is appropriate. In
      any case, this usually represents top or bottom (depending
      on whether you're American or European).
    
      (2) "insertStartingVertex" which takes two arguments, the
      vertex ID and its initial state, and adds the vertex to the
      work list.
    
    * A new "runToFixedPoint" that takes no arguments and which
      does no initialization (assumes it's already been done) augments
      the 2-arg version and allows data-flow analyses to build
      on top of each other.
    
    * New method to set the input state for any CFG vertex
      prior to solving the data-flow.
    
    * Checks for null states have been removed from the data-flow
      engine. It's now the responsibility of the transfer function
      and merge function to check for nulls if they're operating on
      pointer states. The engine itself doesn't care whether states
      are pointers or values.
  4. (codethorn) version 1.8.0

    mschordan committed Apr 27, 2017
  5. (rose) VariableIdMapping: changed toString default to print original …

    mschordan committed Apr 27, 2017
    …variable name. Added function toUniqueString.
Commits on Apr 26, 2017