Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...
2016 4th Intl Conf on Applied Computing and Information Technology/3rd Intl Conf on Computational Science/Intelligence and Applied Informatics/1st Intl Conf on Big Data, Cloud Computing, Data Science & Engineering (ACIT-CSII-BCD), 2016, p.133-140
A Trace Partitioning Approach for Memory Efficiency on a Trace Analysis Environment
Ist Teil von
2016 4th Intl Conf on Applied Computing and Information Technology/3rd Intl Conf on Computational Science/Intelligence and Applied Informatics/1st Intl Conf on Big Data, Cloud Computing, Data Science & Engineering (ACIT-CSII-BCD), 2016, p.133-140
Ort / Verlag
IEEE
Erscheinungsjahr
2016
Quelle
IEEE Electronic Library Online
Beschreibungen/Notizen
Program execution traces (simply traces in the rest of this paper) which include data/control dependency information are indispensable for new kind of debugging, such as back-in-time debugging. We aim to support debugging of Java programs. Traces of practical programs are prone to have vast amount of complex data, which makes it difficult to develop practical debuggers to use for them. In our previous study, we have developed a macroscopic dependency analysis for traces that suggests symptoms of infections caused by some defect. Due to lack of an efficient implementation, this analysis is not designed to be performed on-the-fly, but to be preprocessed prior to the debugging task. For a practical use of this analysis, it is imperative that the maintainers be able to interactively invoke an analysis process when necessary, and to promptly get its rapid a feedback. For this purpose, we aim to develop a technology for efficient and macroscopic analysis of traces with vast size and complex data structure. To solve the problem described above, it is necessary that we implement a trace analysis environment, which enables efficient analysis and access of traces. A trace in our analysis has a graph structure, whose nodes represent executed Java byte code instructions, and edges represent a control or data dependency among them. In addition, trace analysis are used to trace references and data/control dependencies of instructions and values. In this study, we focus on tracing relationships in trace analyses. For that purpose, we have implemented a trace analysis environment with the graph database (Neo4j), which is optimized for tracing edges of graph. Moreover, we have proposed an approach for importing graph data, which improves a memory consumption and analysis time. Finally, we have developed a prototype framework and re-implemented the macroscopic trace analysis that suggests symptoms of infections in the trace. In this paper, we evaluate the performance of the re-implemented analysis based on the memory consumption and the analysis time.