ABSTRACT
Modern software systems are developed as very complex, heavily parallelized programs. Communication between multiple processes and threads inevitably leads to exponential growth of program state space and nondetermined program behaviour. These facts make standard error detection techniques, such as testing or static analysis, ineffective when applied to parallel programs. One way to solve the error detection problem is dynamic software visualization. In this paper we propose an approach, based on program trace analysis and vizualization. Our prototype allows building program trace logs using code instrumentation and supports 3 visualization types. Experimental results prove that proposed approch is effective and applicable to wide spectrum of software systems.
- Ball Thomas. The Concept of Dynamic Analysis. / Ed. by Oscar Nierstrasz, Michel Lemoine. --- Vol. 1687 of Lecture Notes in Computer Science. --- Springer, 1999. --- P. 216--234. Google ScholarDigital Library
- Reiss Steven P. Defining Software Visualizations Dynamically (Extended Abstract).Google Scholar
- Dugerdil Philippe, Alam Sazzadul. Execution Trace Visualization in a 3D Space // Proceedings of the Fifth International Conference on Information Technology: New Generations. --- ITNG '08. --- Washington, DC, USA: IEEE Computer Society, 2008. --- P. 38--43. Google ScholarDigital Library
- Roberts James, Zilles Craig. TraceVis: An Execution Trace Visualization Tool // MoBS '05. --- 2005.Google Scholar
- Girgis Hani Z., Jayaraman Bharat, Gestwicki Paul V. Visualizing errors in object oriented programs. // OOPSLA Companion. --- ACM, 2005. --- P. 156--157. Google ScholarDigital Library
- The LLVM Compiler Infrastructure. --- http://llvm.org/.Google Scholar
- {Reference contains Cyrillic text which could not be captured.}Google Scholar
- Lock-free data structure library. --- http://liblfds.org/.Google Scholar
- Steven T. Hackstadt Allen D. Malony Bernd Mohr. Scalable Performance Visualization for Data-Parallel Programs // Proceedings of the Scalable High Performance Computing Conference. --- 1994. --- P. 342--349.Google Scholar
Index Terms
- Visualization of parallel program execution for software behavior analysis and defect detection
Recommendations
Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey
Software visualization is concerned with the static visualization as well as the animation of software artifacts, such as source code, executable programs, and the data they manipulate, and their attributes, such as size, complexity, or dependencies. ...
Visualization of program-execution data for deployed software
SoftVis '03: Proceedings of the 2003 ACM symposium on Software visualizationSoftware products are often released with missing functionality, errors, or incompatibilities that may result in failures in the field, inferior performances, or, more generally, user dissatisfaction. In previous work, we presented the GAMMA technology, ...
Incremental exploratory visualization of relationships in large codebases for program comprehension
OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsAs software systems grow in size and use more third-party libraries and frameworks, the need for developers to understand unfamiliar large codebases is rapidly increasing. In this demonstration, we present a tool, Relo that supports users' understanding ...
Comments