and its Components Bill Williams Whats New in Dyninst Dyninst 701 ProcControl Stackwalker not reintegrated DataflowAPI early prototype Static CFG model No PPC 64 or BlueGene ID: 643836
Download Presentation The PPT/PDF document "Upcoming Features in Dyninst" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Upcoming Features in Dyninst and its Components
Bill WilliamsSlide2
What’s New in Dyninst
Dyninst
7.0.1
ProcControl
, Stackwalker not reintegratedDataflowAPI early prototypeStatic CFG modelNo PPC64 or BlueGene rewritingNon-standard configure, packaging
Dyninst 8.0
ProcControl, Stackwalker fully integrated on all platformsDataflowAPI includes all analyses used by DyninstDynamic CFG modelPPC64 and BlueGene rewritingMore standards-compliant distribution
2
New Features in Dyninst and its ComponentsSlide3
Dyninst and the Components
AST
Binary
Process
Stackwalker
API
Patch API
SymtabAPI
DataFlow
API
Instruction
API
Parsing
API
Code
Gen
ProcControl
API
Binary
= Existing Component
= ProposedSlide4
ProcControlAPI: Ports
Windows port
Complex things become simple (e.g. library load)
Simple things become complex (e.g.
stopping process)BlueGene portEverything is asynchronousEverything is at large scale4New Features in Dyninst and its ComponentsSlide5
ProcControlAPI: Interface Extensions
RPCs revisited
Sometimes you really want a blocking operation
Process groups
Iteration, once again, the bane
of scalability
Detach-on-the-fly support5New Features in Dyninst and its ComponentsSlide6
DataflowAPINew features
Liveness
analysis
Existing features
Stack height analysisSymbolic evaluationSlicingApplication inside DyninstCode generationBG/P return instruction analysis6
New Features in Dyninst and its ComponentsSlide7
Dynamic CFG ApplicationsMalware
analysis
Binary modification
Dynamically loaded libraries
Unparsed indirect control flow7New Features in Dyninst and its ComponentsSlide8
Dynamic CFGObserve updated CFG via callbacks
New code
Modified code
Overwritten code
Using modified CFG is optionalInstrumentation works normally8New Features in Dyninst and its ComponentsSlide9
SymtabAPI and orthogonality
Old model (pre-PPC64 Linux)
Symtab
depends on:
Binary format…and address widthSymbols in ELF binaries point to:FunctionsVariablesNew model (including PPC64)
Symtab depends on:Binary format
Address widthABI, including:ArchitectureOSSymbols in ELF binaries point to:FunctionsVariablesPointers to functions9New Features in Dyninst and its ComponentsSlide10
PackagingSeparate
make
,
make install
Improved detection of dependenciesImproved modularityWorking with RedHat to make a standards-compliant RPM10
New Features in Dyninst and its ComponentsSlide11
New in MRNet 4.0
Performance improvements
Platform pruning
No more AIX, Solaris
official supportNew multithreaded, lightweight back end11New Features in Dyninst and its ComponentsSlide12
Questions?
12
New Features in Dyninst and its Components