A Hierarchy of Dynamic Software Views: From Object-Interactions to Feature-Interactions
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Scenario-Driven Dynamic Analysis for Comprehending Large Software Systems
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
LISA '06 Proceedings of the 20th conference on Large Installation System Administration
Using Software Dependencies and Churn Metrics to Predict Field Failures: An Empirical Case Study
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Dependency Viewer - A Tool for Visualizing Package Design Quality Metrics
VISSOFT '05 Proceedings of the 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis
Predicting defects using network analysis on dependency graphs
Proceedings of the 30th international conference on Software engineering
Visualizing windows system traces
Proceedings of the 5th international symposium on Software visualization
Towards a binary integrity system for windows
Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security
Detecting and preventing activex API-Misuse vulnerabilities in internet explorer
ICICS'12 Proceedings of the 14th international conference on Information and Communications Security
Hi-index | 0.00 |
Software often lives in a complex software eco-system with complex interactions and dependencies between different modules or components. In Windows, this problem is exacerbated both by the overall system complexity and its closed source nature. Even when source is available, there are still interactions with modules which are only in binary form. This paper proposes two visualizations for investigating the dependencies between programs and other binaries, such as, dynamically linked libraries on Windows. Our visualizations are based on run-time traces obtained either from the Windows kernel or through binary instrumentation. Thus, our techniques do not need to rely on source code. We use the following scenarios to explain how our visualizations can be used to investigate various aspects of software dependencies: (i) visualizing whole system software dependencies; (ii) visualizing the interactions between selected modules of some software; (iii) discovering unexpected module interactions; and (iv) understanding the source of the modules being used.