feat: added benchmarking script#2535
Draft
schuler-henry wants to merge 12 commits into
Draft
Conversation
- Remove unused inferred information for constant values and expression results after an assignment is complete/a condition has been processed.
EagleoutIce
requested changes
Jun 3, 2026
…rove-pentagon-ram-usage # Conflicts: # src/abstract-interpretation/pentagon/numeric-pentagon-inference.ts
…nto 2534-interval-pentagon-ai-benchmark-and-dead-code-evaluation-script
When using apply or tapply, the unary function gets two reads edges to the other two provided argumetns. Therefore, when unary function is "called" with more than one arg not return bottom but overapproximate to top (undefined) to be sound.
OliverGerstl
approved these changes
Jun 10, 2026
| dfgTag: VertexType | 'unknown'; | ||
| } | ||
|
|
||
| void async function() { |
Collaborator
There was a problem hiding this comment.
I think this function would be more readable if you split parts of it into separate functions :)
| const fileMetadataPath = path.join(outputDirectory, metadataOutputFile); | ||
| fs.rmSync(fileMetadataPath, { recursive: true, force: true }); | ||
| fs.writeFileSync(fileMetadataPath, JSON.stringify(fileMetadata, null, 2)); | ||
| }(); No newline at end of file |
Collaborator
There was a problem hiding this comment.
Also, for comprehensibility, giving this function a name (e.g. main or so) and calling it by name would be better
| const numberConstants = constants.filter(value => ast.idMap.get(value[0])?.type === RType.Number); | ||
|
|
||
| const functionCalls = dfg.verticesOfType(VertexType.FunctionCall).toArray(); | ||
| const supportedExpressionFunctionCalls = functionCalls.filter(([_, dfgCall]) => |
Collaborator
There was a problem hiding this comment.
Maybe it would also be interesting to filter these supported function calls for those calls for which you inferred anything?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@OliverGerstl @EagleoutIce schaut mal ob ich die Daten so richtig raus zieh aus flowr und ob die festgehaltenen Daten so sinnvoll/ausreichend sind.
Falls ihr noch punkte habt die man ergänzen kann, gerne schreiben.
In Olis Arbeit hab ich gesehen, dass er die einzelnen base-flowr steps separat gemessen hat, also dfg, cfg, ast, ...., wäre das hier auch sinnvoll? muss ich dafür im Zweifel was spezielles beachten wie die Reihenfolge in der ich das mach (weil sonst evtl. vorherige Graphen bereits erzeugt werden)?