<  Back to the Polytechnique Montréal portal

Distributed architecture for an integrated development environment, large trace analysis, and visualization

Yonni Chen Kuang Piao, Naser Ezzati-jivan and Michel Dagenais

Article (2021)

Open Acess document in PolyPublie and at official publisher
Open Access to the full text of this document
Published Version
Terms of Use: Creative Commons Attribution
Download (907kB)
Show abstract
Hide abstract


Integrated development environments (IDEs) provide many useful tools such as a code editor, a compiler, and a debugger for creating software. These tools are highly sophisticated, and their development requires a significant effort. Traditionally, an IDE supports different programming languages via plugins that are not usually reusable in other IDEs. Given the high complexity and constant evolution of popular programming languages, such as C++ and even Java, the effort to update those plugins has become unbearable. Thus, recent work aims to modularize IDEs and reuse the existing parser implementation directly in compilers. However, when IDE debugging tools are insufficient at detecting performance defects in large and multithreaded systems, developers must use tracing and trace visualization tools in their software development process. Those tools are often standalone applications and do not interoperate with the new modular IDEs, thus losing the power and the benefits of many features provided by the IDE. The structure and use cases of tracing tools, with the potentially massive execution traces, significantly differ from the other tools in IDEs. Thus, it is a considerable challenge, one which has not been addressed previously, to integrate them into the new modular IDEs. In this paper, we propose an efficient modular client–server architecture for trace analysis and visualization that solves those problems. The proposed architecture is well suited for performance analysis on Internet of Things (IoT) devices, where resource limitations often prohibit data collection, processing, and visualization all on the same device. The experimental evaluation demonstrated that our proposed flexible and reusable solution is scalable and has a small acceptable performance overhead compared to the standalone approach.

Uncontrolled Keywords

trace analysis ; trace visualization ; modular IDE

Additional Information: All source codes and trace data are available as an open-source project in the following GitHub repository: https://github.com/cheninator/trace-scape (accessed on 10 February 2021).
Subjects: 2700 Information technology > 2705 Software and development
2700 Information technology > 2706 Software engineering
2700 Information technology > 2719 Computer architecture and design
Department: Department of Computer Engineering and Software Engineering
Research Center: Other
Funders: CRSNG / NSERC, Prompt, EfficiOS, Ericsson
PolyPublie URL: https://publications.polymtl.ca/9436/
Journal Title: Sensors (vol. 21, no. 16)
Publisher: MDPI
DOI: 10.3390/s21165560
Official URL: https://doi.org/10.3390/s21165560
Date Deposited: 27 Feb 2023 09:52
Last Modified: 25 Oct 2023 04:14
Cite in APA 7: Chen Kuang Piao, Y., Ezzati-jivan, N., & Dagenais, M. (2021). Distributed architecture for an integrated development environment, large trace analysis, and visualization. Sensors, 21(16), 29 pages. https://doi.org/10.3390/s21165560


Total downloads

Downloads per month in the last year

Origin of downloads


Repository Staff Only

View Item View Item