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

Sensors ◽  
2021 ◽  
Vol 21 (16) ◽  
pp. 5560
Author(s):  
Yonni Chen Kuang Piao ◽  
Naser Ezzati-jivan ◽  
Michel R. Dagenais

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.

2018 ◽  
Vol 1 (2) ◽  
pp. 253 ◽  
Author(s):  
Gloria Arcos ◽  
Gladys L. Aguirre ◽  
Blanca Hidalgo ◽  
Raúl H. Rosero ◽  
Omar S. Gómez

Abstract. Computer programming has become a relevant element of the modern era. Practically it is involved in all sectors of modern society. Currently, many universities around the globe offer bachelor’s degree programs that contain computer programming related courses. In order to gain insight into how computer programming is taught in Ecuadorian Higher Education Institutions (HEIs), we have conducted the first national survey on teaching computer programming in undergraduate CS programs. In this survey participated 53 respondents from 13 Ecuadorian HEIs. We report on programming paradigms, programming languages, integrated development environments and teaching strategies used in the programming learning process. We found that the object-oriented paradigm along with the Java programming language are the most often used. The NetBeans integrated development environment is the most commonly used among the respondents. Concerning teaching strategies, e-learning platforms are commonly used as part of computer programming courses. More than half of the respondents use collaborative strategies such as pair programming in their courses. Finally, a half of the respondents use traditional computer labs for teaching programming; however, other approaches such as mobile devices, games and simulations, Arduino kits and robots start to be used as a teaching strategy. Our findings can serve as a starting point for addressing reforms in computer programming courses taught in Ecuadorian CS undergraduate programs.


Author(s):  
José Carlos Paiva ◽  
José Paulo Leal ◽  
Ricardo Alexandre Peixoto de Queirós

This chapter presents the architecture and design of Enki, an Integrated Development Environment (IDE) for learning programming languages on Massive Open Online Courses (MOOCs). This environment can be used as a tool by a Learning Management System (LMS) and a typical LMS such as Moodle can launch it using the Learning Tool Interoperability (LTI) API. Student authentication tokens are passed via LTI, thus integrating Enki in the single sign-on domain of the academic institution. The proposed tool has a web user interface similar to those of reference IDEs, where the learner has access to different integrated tools, from viewing tutorial videos, to solving programming exercises that are automatically evaluated. Enki uses several gamification strategies to engage learners, including generic gamifications services provided by Odin and the sequencing of educational resources. The course content (videos, PDFs, programming exercises) is progressively disclosed to the learner as he successfully completes exercises. This is similar to what happens in a game, where new levels are unlocked as the previous are completed, thus contributing to the sense of achievement.


Author(s):  
О. O Zhevaho

Purpose. This paper presents the findings of a review of the literature published in the twenty-first century in order to identify and analyze the current state of tools that track developer interactions with integrated development environments, as well as to recommend future research directions based on the actual state. Methodology. By systematically searching in five digital libraries we conducted a systematic review of the literature on data collection tools from integrated development environments published in the twenty-first century. Fifty-five papers were selected as primary studies. Findings. 55 articles were analyzed and the findings show that using an integrated development environment to collect usage data provides more insight into developer activities than it was previously possible. Usage data allows us to analyze how developers spend their time. With usage data, you can learn more about how developers create mental models, investigate code, conduct mini-experiments through trial and error, and what can help everyone improve performance. The research community continues to be highly active in developing tools to track developer activity. The findings indicate that more research is needed in this area to better understand and measure programmer behavior. Originality. For the first time, systematization and analysis of tools for tracking programmer's behavior in an integrated development environment have been carried out. Practical value. Our study contributes to a better understanding of the current state of research on programmer behavior in integrated development environments. An analysis of the study can help define a research agenda as a starting point for the creation of a novel practical tool.


Author(s):  
Siyu Shi

This chapter introduces the history of Python and its IDEs (integrated development environment) and code editors as developing environment. The history tells how Python started from ABC programming language in the Netherlands to a community with developers from different areas, and later became one of the most popular programming languages in the world. Popular IDEs and Code Editor for professional developers and beginners are also introduced with their advantages and disadvantages. Later in this chapter, the authors introduce Python libraries, which could be used in statistical analysis, and give out a simple case on how these methods can be applied.


2019 ◽  
Author(s):  
Budiman

During this period continued to develop computer software, programming language was no exception. At the start of the era of low level programming languages, then developed a high level programming language. It is characterized by the appearance of a method of programming offered by a programming language, that is, object-oriented programming (OOP). IDE (Integrated Development Environment) is a computer program that has some facilities that are required in the development of the software. The purpose of the IDEA is to provide all the necessary utilities in building software. As for the type of software text editor that can be used to manipulate the source code hereinafter referred to as the source code of programming languages such as Ultraedit, JediEdit, ClearEdit, cEdit, the Golden Pen, and so on. PuniEdit software is a text-based editor software that can simplify the user through correction, insertion, and modification of the source code. PuniEdit software is built using Borland Delphi 7.0 and SynEdit component. This software can be used for the Pascal programming language, C++ and HTML. In addition, the software PuniEdit can perform management of the token. This PuniEdit software, the user can clearly see every occurrence of the type of token as keywords (reserved word), identifier, operator, and so on.Keywords: Source code, programming language, source code is scanned.


2022 ◽  
pp. 1202-1221
Author(s):  
Görkem Giray

The internet of things (IoT) transforms the world in many ways. It combines many types of hardware and software with a variety of communication technologies to enable the development of innovative applications. A typical IoT system consists of IoT device, IoT gateway, IoT platform, and IoT application. Developing these elements and delivering an IoT system for fulfilling business requirements encompasses many activities to be executed and is not straightforward. To expedite these activities, some major vendors provide software development kits (SDK), integrated development environments (IDE), and utility tools for developing software to be executed on IoT devices/gateways. Moreover, these vendors utilize their cloud platforms to provide fundamental services, such as data storage, analytics, stream processing, for developing IoT systems. These vendors also developed IoT specific cloud-based services, such as connectivity and device management, to support IoT system development. This chapter presents an overview of tools and platforms provided by five major vendors.


Author(s):  
Görkem Giray

The internet of things (IoT) transforms the world in many ways. It combines many types of hardware and software with a variety of communication technologies to enable the development of innovative applications. A typical IoT system consists of IoT device, IoT gateway, IoT platform, and IoT application. Developing these elements and delivering an IoT system for fulfilling business requirements encompasses many activities to be executed and is not straightforward. To expedite these activities, some major vendors provide software development kits (SDK), integrated development environments (IDE), and utility tools for developing software to be executed on IoT devices/gateways. Moreover, these vendors utilize their cloud platforms to provide fundamental services, such as data storage, analytics, stream processing, for developing IoT systems. These vendors also developed IoT specific cloud-based services, such as connectivity and device management, to support IoT system development. This chapter presents an overview of tools and platforms provided by five major vendors.


In today’s world, many artificial intelligence applications developed using programming languages like Python, R and so on. Each language comes with its own programming structure and syntactical forms. Programmers are broadly classified into three categories namely, novice users, knowledge intermittent and expert one. For novice users, it is always a challenge to write a code without typographic errors though users know theoretical knowledge of Programming language, its structure and syntax as well as logic of program. Therefore, this paper explores use of voice recognition technique in the field of programming, specifically for writing program with Python programming language. In experimental analysis, it found helpful for new Python programmers and provide new learning curve for programmers wherein beginner can experience hassle free program writing. This paper adds new way of creating interest in beginners for judging their coding paradigm understanding and explore one of the area for user experience field for better programming Integrated Development Environment Development (IDE).


Author(s):  
Jenni Ristonmaa ◽  
Jarmo Ahonen ◽  
Marko Forsell

Component reuse is a promising direction to develop software more efficiently and cost effectively. One part of software development is the actual programming with an integrated development environment (IDE). We studied three Java IDEs and how they support reuse-oriented software development. We derived evaluation criteria from a known reuse model. As a conclusion we suggest that current Java IDEs need to improve their support for the reuse process.


Sign in / Sign up

Export Citation Format

Share Document