-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Henrik/section #6500
Henrik/section #6500
Conversation
Still very rough and with old/new code mixed. Highlights the main ideas of the section based approach. Test cases for tdag c++ impl won't run due to build problems.
This section will be used as an index for which taint labels are source taint. Future use might include the affects control flow marker.
First one is omitting the last source file byte from cavity range. Second one is attempting to read the same file content multiple times, resulting in printing empty strings.
…or TDProgramTrace
Record the size of files used as taint sources when possible. Fallback handling in analysis when not possible.
64e8423
to
a01920e
Compare
c7dbfad
to
cdbae2b
Compare
@@ -73,49 +73,71 @@ def marker_to_ranges(self, m: bytearray) -> List[CavityType]: | |||
ranges.append((start, i)) | |||
start = None | |||
if start is not None: | |||
ranges.append((start, len(m) - 1)) | |||
ranges.append((start, len(m))) | |||
return ranges | |||
|
|||
def file_cavities(self) -> Dict[Path, List[CavityType]]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this tested for equivalent performance? We had issues with improperly implemented DFS traversals before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will look into the DFS performance. I don't think there should be much difference, but you never know. Good point!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@surovic I believe we can resolve this after our discussion, right?
The same DFS is used as previously. Also a bug was uncovered and is solved by this new implementation. We would incorrectly mark source offsets as used in case of multiple source files. Have probably not been a problem in practice though.
Updated section PR. Rewrite of the tdag output file handling to a more structured section-based approach.