-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Description
Summary
Integrate Go compiler escape analysis output to achieve 100% accuracy.
Approach
go build -gcflags="-m" main.go
./main.go:10:5: moved to heap: x # INSTRUMENT
./main.go:15:13: new(int) does not escape # SKIPImplementation Plan
- Parse
go build -gcflags="-m"output - Extract file:line -> escapes mapping
- Skip instrumentation for non-escaping variables
- Create toolexec wrapper for seamless integration
Expected Results
- False Positives: 0% (was ~5-10%)
- TSAN Parity: 100% (was ~75%)
- Code Added: ~100-200 lines
Research
- docs/dev/research-reports/PROFESSIONAL_INTEGRATION_STRATEGY.md
- docs/dev/research-reports/COMPILER_VENDORING_APPROACH.md
Related
- False positives on stack-local variables (named returns, parameters, locals) #20 (False positives)
- feat(instrument): Skip instrumentation of loop variables (Phase 2A) #21, feat(instrument): Skip instrumentation of function-local short declarations (Phase 2B) #22, feat(instrument): Integrate go/types for accurate escape analysis (Phase 2C) #23 (superseded by this approach)
Metadata
Metadata
Assignees
Labels
No labels