An approach to slicing widget-based event-driven programs and its implementation
In program slicing, widget-based event-driven programs are different from conventional programs because of their particular features of object construction infrastructure and event-driven mechanism and asynchronous access of global variables. Therefore conventional slicing techniques cannot be applied to widget-based event-driven programs. To solve this problem, this paper first introduces a set of representing schemes including an object construction tree, an object dependence table, a global variable dependence table and an event-driven program dependence graph, then defines a WbEd slicing criterion through combining three kinds of slicing criteria: instruction criterion, event-loop criterion and obj-attr criterion. And a slicing method is developed based on these slicing criteria. Eventually a widget-based event-driven program slicer wbedSlicer is illustrated to verify the efficiency and correctness of the slicing approach.
widget-based event-driven program program dependence graph control dependence data dependence