Skip to content
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

On-The-Fly Reporting #552

Closed
2 tasks
fabianbs96 opened this issue Dec 12, 2022 · 0 comments
Closed
2 tasks

On-The-Fly Reporting #552

fabianbs96 opened this issue Dec 12, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@fabianbs96
Copy link
Member

Story

In general, PhASAR supports two kinds of analyses:

  • Generally useful analyses such as constant analysis and alias analysis (and in future points-to analysis)
  • Analyses reporting undesired dataflows

While analyses of the first kind typically run as helper analysis for a different client analysis, the latter kind oftentimes runs in whole-program analysis (WPA) mode or module-wise analysis (MWA) mode and aims to find bugs of vulnerabilities in the software under analysis.

Currently, the only way in reporting analysis results is by either specializing the emitTextReport() function on the analysis problem or by relying on the raw SolverResults. While this is mostly sufficient for helper analyses, reporting analysis lack a common way of reporting results in a generic way.

So, propose the following: The analysis problem permits an event-based reporting solution, that (for example via callbacks) allows to report findings in a generic way. This also adds the benefit of on-the-fly reporting: With the emitTextReport and SolverResults strategy all analysis results are only available once the whole analysis run has completed. Intermediate results are not supported. However, in a bigger system with other components (or users) waiting for analysis results it may be beneficial to report (intermediate) results as they arrive.

Prerequisites

  • issue x

Out Of Scope

  • A isn't part of this

Acceptance Criteria

The following acceptance criteria are defined regarding the result of this story:
Clarify what the final result should be, not how to accomplish it.

  • The IFDSTabulationProblem and IDETabultation problem provide an opt-in solution for generic reporting of analysis findings
  • The results reporting allows for reporting intermediate results

Related Stories

  • none

Follow-up Stories

  • none
@fabianbs96 fabianbs96 added the enhancement New feature or request label Dec 12, 2022
@sritejakv sritejakv self-assigned this Oct 17, 2023
@MMory MMory added this to the Release 2403 milestone Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants