Static slicing selects a part of the program that can possibly affect the slicing criterion in question. The standard algorithm in the slicing is based upon the Program Dependency Graph (PDG). PDG is constructed upon Control Flow Graph (CFG) nodes, which afterwards, are connected by control and data dependencies edges. PDG-Based slicing algorithm requires building in advance a PDG, which can be quite an expensive operation. Two new improvements are proposed to this scheme: rstly, Strongly Live Variables (SLV) data flow analysis is used rather than Reaching Definitions to compute the data dependencies. This has the advantage that the slicing of program statements can be done concurrently with the SLV analysis as well as it eliminates the need to build a Data Dependence Graph (DDG). Secondly, for well-structured code, an Object-Based representation of the code is designed, Objects structured into loops and conditionals, which directly captures the control dependencies: thus, the Control Dependence Graph (CDG) needs not be built. This scheme also allows for a more efficient representation of the SLV sets, and a simpler test that the fixed-point iteration in the combined SLV analysis and slicing has converged.