~/talk

Finding Unmet Dependencies in Kconfig with the Kismet Static Analyzer

slides:none on file

Static analyzer kismet converts Kconfig into boolean formulas via k-clause, feeds them to SAT solvers, and emits test .config files that reproduce failures in the build system. On 28 architectures it flags 151 confirmed unmet-dependency bugs with 100% precision, misses 8 positives compared to ~11 million randconfig trials, and runs per-architecture in ~37–90 minutes (full run under a day, parallelizable). 38 reports were filed and 15 patches merged; ~30% of these bugs trigger build errors.

AI-written summary · about

  1. 0:00linux works on lots of devices
  2. 0:18the kernel is ultra-configurable
  3. 0:56configurability makes maintenance harder
  4. 2:33there's about 15,000 configuration options
  5. 3:35written in about 150,000 lines of Kconfig
  6. 4:35what does the build system do?
  7. 5:45our goal: automatically analyze the build system
  8. 6:13today's focus: Kconfig's unmet dependency bugs
  9. 7:13kconfig language example
  10. 8:50the unmet dependency bug
  11. 9:28an unmet dependency bug in the wild
  12. 11:33we first model Kconfig in symbol logic
  13. 13:06we check every select for an unmet dependency
  14. 15:19experimental setup
  15. 15:47precision (true positives)
  16. 16:38recall (false negatives)
  17. 17:22performance
  18. 18:13impact
  19. 23:41student members of project team
  20. 23:52conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.