recent and upcoming advances in the dyninst toolkits
play

Recent and Upcoming Advances in the Dyninst Toolkits Bill Williams - PowerPoint PPT Presentation

Recent and Upcoming Advances in the Dyninst Toolkits Bill Williams Paradyn Project Petascale Tools Workshop Granlibakken, CA Aug 1-Aug 4, 2016 Dyninst Development Roadmap Dyninst 9.2 Dyninst 9.3 Dyninst 10.0 Q2/3 2016


  1. Recent and Upcoming Advances in the Dyninst Toolkits Bill Williams Paradyn Project Petascale Tools Workshop Granlibakken, CA Aug 1-Aug 4, 2016

  2. Dyninst Development Roadmap Dyninst 9.2 Dyninst 9.3 Dyninst 10.0 Q2/3 2016 Q3 2016 2017 • New platforms • Smarter, better, faster • New features • Testing and robustness New Developments in the Dyninst Toolkits 2

  3. Dyninst Platforms Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 3

  4. Dyninst Platforms Dyninst 9.2 KNL support PPC/LE analysis ARMv8 instructions Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 3

  5. Dyninst Platforms Dyninst 9.2 Dyninst 9.3 KNL support PPC/LE instrumentation PPC/LE analysis Windows rewriter ARMv8 instructions ARMv8 parsing Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 3

  6. Dyninst Platforms Dyninst 9.2 Dyninst 9.3 Dyninst 10.0 KNL support PPC/LE instrumentation ARMv8 instrumentation Windows 64-bit PPC/LE analysis Windows rewriter Power9? ARMv8 instructions ARMv8 parsing ARM 32-bit? Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 3

  7. Dyninst Features Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 4

  8. Dyninst Features Dyninst 9.2 New platforms PIE rewriting support Bug fixes Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 4

  9. Dyninst Features Dyninst 9.2 Dyninst 9.3 New platforms AT&T disassembly PIE rewriting support PPC ABI v2 Bug fixes abstractions Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 4

  10. Dyninst Features Dyninst 9.2 Dyninst 9.3 Dyninst 10.0 New platforms AT&T disassembly Callbacks revisited Exception support PIE rewriting support PPC ABI v2 GPU abstractions Bug fixes abstractions Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 4

  11. Smarter, Better, Faster Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 5

  12. Smarter, Better, Faster Dyninst 9.2 SD-Dyninst in main release Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 5

  13. Smarter, Better, Faster Dyninst 9.2 Dyninst 9.3 SD-Dyninst in Better line info main release Better stack analysis Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 5

  14. Smarter, Better, Faster Dyninst 9.2 Dyninst 9.3 Dyninst 10.0 SD-Dyninst in Better line info DWARF for relocated main release code Better stack SD-Dyninst analysis Self-propelled Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 5

  15. Testing and Robustness Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 6

  16. Testing and Robustness Dyninst 9.2 Move to github Fuzz testing DataflowAPI docs Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 6

  17. Testing and Robustness Dyninst 9.2 Dyninst 9.3 Move to github Better CI system Fuzz testing Better test reports DataflowAPI docs Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 6

  18. Testing and Robustness Dyninst 9.2 Dyninst 9.3 Dyninst 10.0 Move to github Better CI system Ongoing improvements Fuzz testing Better test reports DataflowAPI docs Q2/3 2016 Q3 2016 2017 New Developments in the Dyninst Toolkits 6

  19. Github and Community Engagement o Open bug tracker o Easier to verify contributions o Turnkey release system o Increased activity o Number of commits o Number of committers o Transparent discussions New Developments in the Dyninst Toolkits 7

  20. Outside contributions (current and future) o Architecture-independent binary analysis o Improvements in continuous integration o Much code cleanup o External build and test machines o More and better bug reports o More collaborative bug fixes New Developments in the Dyninst Toolkits 8

  21. Release 9.2.1 o Line information fixes o Correctness (virtual functions, Fortran) o Speed o PPC64 rewriting fixes o Generate more robust intermodule calls o Crash bugs fixed o Windows stack walking fixes New Developments in the Dyninst Toolkits 9

  22. Dyninst 9.3 o PPC ABI v2 o Uniform AT&T disassembly o ARM64 instruction semantics o Complete ParseAPI on ARM64 o Windows rewriter New Developments in the Dyninst Toolkits 10

  23. Fuzz testing instructions o Started in Dyninst 9.1 o Integral in ARM implementation o Allowed rapid, accurate catch-up on x86 New Developments in the Dyninst Toolkits 11

  24. ARM semantics: interface Provides overridable function for each element of semantic pseudocode: o Assignment o Bit field extraction o Sign/zero extension o Math o If/then/else o Register access o Memory access New Developments in the Dyninst Toolkits 12

  25. ARM semantics: construction Translate book pseudocode to ROSE policy class o Build Bison grammar from XML to C++ o Start with elements for common instructions o Apply to ParseAPI o Iterate New Developments in the Dyninst Toolkits 13

  26. Software info o Main project page: https://github.com/dyninst/ dyninst o Issue tracker o Releases and manuals o Coming soon: test results o LGPL o Contributions welcome New Developments in the Dyninst Toolkits 14

Recommend


More recommend