DESOSA 2021

IntelliJ IDEA

IntelliJ IDEA is an Java IDE designed to maximize developer productivity offering deep intelligence by indexing the source code; out-of-the-box experience by supporting mission-critical tools without any plugins; smart code completion by analyzing the code context; framework-specific assistance even for languages other than Java; productivity boosters by automating tedious tasks; developer ergonomics by minimizing workflow interruptions; unobtrusive intelligence by offering a wide range of tools increasing productivity outside the editor as well.

Authors

Lucan de Groot

Avid embedded software engineer doing a masters to become more proficient in R&D.

Cedric Willekens

First year Computer Science master student in the Software Technology track. Passionate about Software Development, Software Quality, CI/CD

Alexander Halfweeg

Second year Computer Science master student. CSE bachelor completed in TU Delft. Not yet chosen a preferred area of expertise.

Dexter Leeuwen

Computer Science Master student, eager to learn more about graphics, AI and software in general.

IntelliJ - Variability management

This is the final blog posts in a series where we analyzed different aspects of IntelliJ IDEA. If you find yourself lost when reading this essay, please check our previous posts1,2,3 for more context. Overview In this post we’ll discuss various aspects of variability management around the IntelliJ IDEA. We’ll start with a model of the variability, then we’ll discuss the variability management. Finally, we’ll touch upon how this variability management is implemented in code.

InteliJ - Quality and Evolution

IntelliJ IDEA is an open source IDE developed by JetBrains, it strives to be the best Java IDE. Overview In this blog we will discuss the various aspect of the quality and evolution of IntelliJ IDEA. First, we will describe the overall software quality process, then the CI/CD and tests. After that, we will discuss the code hotspots and their code quality, the culture surrounding code quality and finally, we will discuss the technical debt of the project.

IntelliJ - From Vision to Architecture

Overview In this post we dive deeper into the the architectual overview of the code base. We will start with the architectural style and patterns used in the IntelliJ IDEA code base. Next we will dive deeper into the containers, components, connectors, development and run time view to get a better understanding of the code base. Afterwards, we will dive deeper into the SDK IntelliJ provides in order to allow developers to further extend the functionality.

The Product Vision and Problem Analysis

IntelliJ IDEA is a Java IDE designed to maximize developer productivity. It achieves this by offering intelligent features that enhance the productivity of the developer. In this series of blog posts, we will discuss various aspects of the IntelliJ platform. Overview In this blog we will first discuss the goal of IntelliJ, then we will briefly go over its domain model, use cases and context. After that, we will discuss the stakeholders, key quality attributes, product roadmap and ethical considerations.