code-philia / microbat

A feedback-based debugger for interactively recommending suspicious step in buggy program execution.
3 stars 2 forks source link

Add inference results to previous relevant step on trace #16

Closed HongshuW closed 3 months ago

HongshuW commented 3 months ago

At Step n

Given a root variable and a target variable with the following structure:

Root Variable
|_ Layer 1 Field
    |_ Layer 2 Field
        |_ ...
            |_ Target Variable

After alias inferences about the target variable are made, the addresses of some fields in this structure are recovered.

At an earlier Step n'

If any of these fields are read, its structure should be partially recovered without further variable expansion. Current

Layer 1 Field (alias ID recovered)

Ideal

Layer 1 Field (alias ID recovered)
|_ Layer 2 Field
    |_ ...
        |_ Target Variable (alias ID recovered)

In this example, since the alias IDs are recorded, alias inferencing could be omitted.

TODO