[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[csmith-project/csmith] 3b31bf: expand the data-flow analysis framework to union f...



  Branch: refs/heads/master
  Home:   https://github.com/csmith-project/csmith

  Commit: 3b31bff0ab2625dece9375939f187081f95f7554
      https://github.com/csmith-project/csmith/commit/3b31bff0ab2625dece9375939f187081f95f7554
  Author: Xuejun Yang <jxyang@cs.utah.edu>
  Date:   2011-06-16 (Thu, 16 Jun 2011)

  Changed paths:
    M src/Block.cpp
  M src/Block.h
  M src/CGContext.cpp
  M src/CGOptions.cpp
  M src/Effect.cpp
  M src/Effect.h
  M src/Expression.cpp
  M src/ExpressionVariable.cpp
  M src/Fact.cpp
  M src/Fact.h
  M src/FactMgr.cpp
  M src/FactMgr.h
  M src/FactPointTo.cpp
  M src/FactPointTo.h
  A src/FactUnion.cpp
  A src/FactUnion.h
  M src/Function.cpp
  M src/Function.h
  M src/FunctionInvocation.cpp
  M src/FunctionInvocationUser.cpp
  M src/FunctionInvocationUser.h
  M src/Statement.cpp
  M src/Statement.h
  M src/StatementArrayOp.cpp
  M src/StatementArrayOp.h
  M src/StatementAssign.cpp
  M src/StatementAssign.h
  M src/StatementBreak.cpp
  M src/StatementBreak.h
  M src/StatementContinue.cpp
  M src/StatementContinue.h
  M src/StatementExpr.cpp
  M src/StatementExpr.h
  M src/StatementFor.cpp
  M src/StatementFor.h
  M src/StatementGoto.cpp
  M src/StatementGoto.h
  M src/StatementIf.cpp
  M src/StatementIf.h
  M src/StatementReturn.cpp
  M src/StatementReturn.h
  M src/StringUtils.cpp
  M src/StringUtils.h
  M src/Type.cpp
  M src/Type.h
  M src/Variable.cpp
  M src/Variable.h
  M src/VariableSelector.cpp
  M src/VariableSelector.h
  M src/csmith.vcproj

  Log Message:
  -----------
  expand the data-flow analysis framework to union field analysis

1) add another type of fact, the union field that is last written into, to the framework
2) use this kind of fact to avoid reading padding bits of union fields (an unspecified value)
3) cleanup and streamline the current framework so that more type of facts can be analyzed with less trouble in the future
4) extend the effect analysis to union variables
5) increase the chance of having more struct and unions, and the chance of having struct and char* as union field
5) fix some gcc warnings
6) remove some unused code, rename some functions to more meaningful names
7) make code more debugable