Cargando…

Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization

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...

Descripción completa

Detalles Bibliográficos
Autores principales: Chen Kuang Piao, Yonni, Ezzati-jivan, Naser, Dagenais, Michel R.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: MDPI 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8402270/
https://www.ncbi.nlm.nih.gov/pubmed/34451000
http://dx.doi.org/10.3390/s21165560
_version_ 1783745749676195840
author Chen Kuang Piao, Yonni
Ezzati-jivan, Naser
Dagenais, Michel R.
author_facet Chen Kuang Piao, Yonni
Ezzati-jivan, Naser
Dagenais, Michel R.
author_sort Chen Kuang Piao, Yonni
collection PubMed
description 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.
format Online
Article
Text
id pubmed-8402270
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher MDPI
record_format MEDLINE/PubMed
spelling pubmed-84022702021-08-29 Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization Chen Kuang Piao, Yonni Ezzati-jivan, Naser Dagenais, Michel R. Sensors (Basel) Article 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. MDPI 2021-08-18 /pmc/articles/PMC8402270/ /pubmed/34451000 http://dx.doi.org/10.3390/s21165560 Text en © 2021 by the authors. https://creativecommons.org/licenses/by/4.0/Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
spellingShingle Article
Chen Kuang Piao, Yonni
Ezzati-jivan, Naser
Dagenais, Michel R.
Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization
title Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization
title_full Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization
title_fullStr Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization
title_full_unstemmed Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization
title_short Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization
title_sort distributed architecture for an integrated development environment, large trace analysis, and visualization
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8402270/
https://www.ncbi.nlm.nih.gov/pubmed/34451000
http://dx.doi.org/10.3390/s21165560
work_keys_str_mv AT chenkuangpiaoyonni distributedarchitectureforanintegrateddevelopmentenvironmentlargetraceanalysisandvisualization
AT ezzatijivannaser distributedarchitectureforanintegrateddevelopmentenvironmentlargetraceanalysisandvisualization
AT dagenaismichelr distributedarchitectureforanintegrateddevelopmentenvironmentlargetraceanalysisandvisualization