inadequate package decomposition
rbonifacio opened this issue · comments
Currently, our organization in terms of packages is as follows:
io (IO utility functions for traversing the file system)
lang.jimple (AST + Decompiler)
lang.jimple.analysis (ControlFlowGraph)
lang.jimple.analysis.dataflow (DataFlow framework + DataFlow algorithms)
lang.jimple.analysis.ssa (conversion to the SSA format)
lang.jimple.core (execution context of the program analysis)
lang.jimple.internal (internal utility module for generating Java code from Jimple syntax)
lang.jimple.toolkit (CallGraph, SensitiveAnalysis, Global PP)
lang.jimple.toolkit.jimplify (Transformations for jimple code refinement)
lang.jimple.util (data type converterds (e.g.: signature to string) + Local PP)
We do think that the following is better:
lang.jimple.core: AST + ExecutionContext
lang.jimple.toolkit: SSA, CallGraph, ControlFlowGraph
lang.jimple.analysys.dataflow: DataflowFramework + DataFlow algorithms
lang.jimple.analysys.security: SensitiveAnalysis
lang.jimple.decompiler: Decompiler, jimple transformations
lang.jimple.util: io, converters, ....
This was done in d92275e