The goal is to verify each instruction of code.

A set of tests has to be built to check at least once the behaviour of every instruction. Four approaches are introduced in the article:

1. Statement Coverage Approach

The amount of checked code is called covered code. With reference to the total amount of…

How to set up a Python script to scrape LinkedIn Profiles

Scraping of LinkedIn profiles is a very useful activity especially to achieve public relations / marketing tasks. Using Python you can make this process smoother, using your time to focus on those profiles that have critical peculiarities.

At the end of the article you can find a working Python script…

Theoretical introduction of testing: what makes code reliable and professional

Contents of the Article

  1. Introduction
  2. Testing Approaches
  3. Functional Tests
  4. Structural Tests


In professional software engineering, the creation of a program is done following some given specifications that indicate what the program should do. …

Photo by Alex Kotliarskyi on Unsplash

Contents of the Article:

  1. Handling Threads in Java
  2. How to manage asynchrony in Java
  3. Advanced Handling of Concurrency

1. Handling Threads in Java

  • Each thread created/executed by a Java program is represented in the Java language through an instance of the class “Thread”.
  • A thread executes the code that has received on instantiation time through an instance of the…

How to build better Java code with design patterns

Design Patterns are best practices used to solve the most common problems that generally occur during Object Oriented Programming (OOP).

Table of Contents

  1. Creational Patterns
  2. Structural Patterns
  3. Behavioral Patterns
  4. Other Patterns

1. Creational Patterns

Creational patterns deal with object creation mechanisms, providing some special features or abstracting some common tasks.

1.1. Singleton Pattern

Singleton Pattern ensures that a class…

A Quick Reference for JML, the Java specification language.

Table of Contents

  1. What is JML
  2. JML Statements
  3. JML conditions syntax

1. What is JML

The Java Modelling Language (JML) is a specification language for Java.

JML follows the Design-by-Contract Programming Paradigm: this means that it describes pre/post conditions of code that must be respected in order to get the correct and expected behavior.

The JML code…

Class Diagrams, Sequence Diagrams, Activity Diagrams easily explained and summurized — just in case of need.

Image from

Contents of the Article

  1. Introduction of UML
  2. Class Diagram
  3. Sequence Diagram
  4. Activity Diagram

Introduction of UML

The Unified Modeling Language (UML) is a modeling language that is intended to provide a standard way to visualize the design of a system (generally a software) through an object oriented diagram scheme.

UML is recognized by the International Organization for…

Why they won’t become what you are thinking — not now

In the latter period, I’m reading more and more about chatbots and how they will be the center of new businesses. They told us that they are the future, they are growing and they are even becoming more intelligent than us!

Here the two main chatbots’ purposes presented in these…

Federico Haag

Software Engineer, Ex-Amazon

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store