global analysis of dynamic library dependencies
play

Global Analysis of Dynamic Library Dependencies Alva L. Couch, - PowerPoint PPT Presentation

Global Analysis of Dynamic Library Dependencies Alva L. Couch, couch@eecs.tufts.edu Yizhan Sun, ysun@eecs.tufts.edu Tufts University, Medford MA USA http://sowhat.sourceforge.net How to Create Library Dependency Problems Mix package


  1. Global Analysis of Dynamic Library Dependencies Alva L. Couch, couch@eecs.tufts.edu Yizhan Sun, ysun@eecs.tufts.edu Tufts University, Medford MA USA http://sowhat.sourceforge.net

  2. How to Create Library Dependency Problems  Mix package management and compiling.  Mix local and remote software.  Compile and use in conflicting environments.  Don’t coordinate software installers.  Let software outlast installers.  Wait!

  3. From Whence Come Library Bindings Static library Dynamic library Need libfoo.so /usr/lib/libfoo.a /usr/lib/ one.o libfoo.so.1 ld/gcc bar bar one.o one.o ld.so libfoo.so.1 Executable file Executable image

  4. What Sowhat Does /usr/bin/csh ldd, sowhat ld.so Forward Reverse dependencies dependencies All programs One program / usr/ lib/ libc.so.1

  5. Avoiding Waiting for Results Physical dependencies 554MB Host sowhat --scan “Offline” 3.3MB Indexed cache (Mysql) sowhat --report “Instant” Report of bindings

  6. Example Output library /loc/X11/lib/libXaw.so.5.0 LDD /local/bin/ghostview (libXaw.so.5.0) LDD /local/bin/xarchie (libXaw.so.5.0) kind LDD /local/bin/xcoloredit (libXaw.so.5.0) LDD /local/bin/xgopher (libXaw.so.5.0) LDD /local/bin/xrn (libXaw.so.5.0) LDD /local/bin/xxgdb (libXaw.so.5.0) program pattern

  7. Sowhat Uses  Analyze impacts of changes.  Clean up library directories.  And more…

  8. Change Analysis  Execute: sowhat –-scan --path  Make changes. sowhat –-diff –-path  Lists impacts of changes.

  9. Cleanup  Check whether a directory can be deleted: sowhat --report \ --to=/path/to/goners  Lists references to contents.

  10. What Sowhat Exposed  Programs outlived libraries by several years!  Likewise, libraries outlived programs!  Daemons depended upon remote libraries unavailable at boot!

  11. Sowhat Also Analyzes  Symbolic and hard links.  References to script handlers ( #! ).  Configuration file references.  More to come!

  12. Performance  Sample run on /local/bin, /usr/bin, /bin.  554 megabytes of executables.  2022 executable files.  3.3 megabytes of cached data.  7929 library dependencies.  1437 symlinks, 226 hardlinks, 499 scripts.  Overhead = 3.3/554 = 0.6 percent.  Index time: 13 minutes real time, 87.6 cpu- seconds (Sun E-250,/local/bin nfs mounted)

  13. Status and Availability  http://sowhat.sourceforge.net  GPL  Platform: Solaris 7-8, Mysql, Perl with DBI, DBD::Mysql.  LISA materials: http://www.eecs.tufts.edu/ ~ couch/sowhat

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend