aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/subsystem/linux/parents.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/subsystem: export debug infoAleksandr Nogikh2026-01-201-9/+28
| | | | | | | | Make it possible to print more debugging information when (re)generating a subsystem list. Include parent inference details to the source code itself and add a -debug flag to list the source files assigned to each subsystem.
* pkg/subsystem: restructure the packageAleksandr Nogikh2023-02-101-19/+16
| | | | | | Remove the entity and match subpackages. Regenerate the linux.go file.
* pkg/subsystem: detect loops on the goAleksandr Nogikh2023-02-101-45/+1
| | | | This lets us reduce the amount of code in parents.go.
* pkg/subsystem: extract names after all preprocessingAleksandr Nogikh2023-02-101-6/+9
| | | | | | | | In the previous steps we eliminate some of the extracted subsystems. It helps to have fewer contention while assigning the names. As a result, we need to only rely on emails during parents trasnformations.
* pkg/subsystem: skip small subsystemsAleksandr Nogikh2023-02-101-4/+6
| | | | And regenerate the Linux rules file.
* pkg/subsystem/linux: more subsystem postprocessingAleksandr Nogikh2023-02-101-4/+75
| | | | | Instead of just assigning parents, also remove small and highly overlapping subsystems.
* pkg/subsystem: extract subsystems from a crash listAleksandr Nogikh2023-02-101-16/+1
| | | | | | | | For now, let's use a straightforward approach: 1) Extract all subsystems for each guilty path and syz reproducer. 2) If there are both parents and children in the list, remove parents. 3) Count the remaining subsystems. 4) Pick the ones that appear most often.
* pkg/subsystem/linux: determine parent-child relationsAleksandr Nogikh2023-02-101-0/+104
For that, extract a coincidence count matrix from a path coverage, then apply the following rule. Subsystem A is a child of B if both hold true: 1) More than 2/3 of paths that relate to A also relate to B. 2) B covers more directory tree entities than A.