• DocumentCode
    2224475
  • Title

    Using DDL to understand and modify SimpleScalar

  • Author

    Abbas, Naoman ; Tambe, Sumant ; Cook, Jonathan E.

  • Author_Institution
    Dept. of Comput. Sci., New Mexico State Univ., Las Cruces, NM, USA
  • fYear
    2004
  • fDate
    8-12 Nov. 2004
  • Firstpage
    296
  • Lastpage
    297
  • Abstract
    Many legacy systems are built on the technology of dynamic link libraries. Software engineering tools have not exploited this framework very well. Because the linking is delayed until runtime, it seems natural to provide tools access to the linking process, in order to track it, and even to modify it. There is no reason the dynamic linker must resolve a symbol to the intended function. To this end we have created DDL (the Dynamic Dynamic Linker) by modifying the Gnu dynamic linker to provide an API for developers to use to customize the linking process. We believe that DDL will be useful for a wide variety of software engineering tasks, not the least of which is the reverse engineering of legacy systems, and their maintenance and modification. We present a case study of one such task. This task is the understanding and modification of the SimpleScalar CPU/architectural simulator. We were able to use DDL to understand the behavior of SimpleScalar at a function-call level, and then used DDL to modify the run-time behavior (without modifying the functional source code) to implement the switching between detailed and functional simulation modes (an important extension to the community).
  • Keywords
    program compilers; reverse engineering; software maintenance; software tools; API; DDL; Gnu dynamic linker; SimpleScalar CPU/architectural simulator; dynamic dynamic linker; dynamic link libraries; function-call level; functional source code; legacy systems; reverse engineering; run-time behavior; software engineering tools; software maintenance; software modification; Computer science; Data structures; Delay; Government; Joining processes; Monitoring; Reverse engineering; Runtime; Software engineering; Software libraries;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 2004. Proceedings. 11th Working Conference on
  • ISSN
    1095-1350
  • Print_ISBN
    0-7695-2243-2
  • Type

    conf

  • DOI
    10.1109/WCRE.2004.43
  • Filename
    1374330