Twenty-eight years of component-based software engineering
Journal article, 2016

The idea of developing software components was envisioned more than forty years ago. In the past two decades, Component-Based Software Engineering (CBSE) has emerged as a distinguishable approach in software engineering, and it has attracted the attention of many researchers, which has led to many results being published in the research literature. There is a huge amount of knowledge encapsulated in conferences and journals targeting this area, but a systematic analysis of that knowledge is missing. For this reason, we aim to investigate the state-of-the-art of the CBSE area through a detailed literature review. To do this, 1231 studies dating from 1984 to 2012 were analyzed. Using the available evidence, this paper addresses five dimensions of CBSE: main objectives, research topics, application domains, research intensity and applied research methods. The main objectives found were to increase productivity, save costs and improve quality. The most addressed application domains are homogeneously divided between commercial-off-the-shelf (COTS), distributed and embedded systems. Intensity of research showed a considerable increase in the last fourteen years. In addition to the analysis, this paper also synthesizes the available evidence, identifies open issues and points out areas that call for further research.

component-based sofwtare engineering


Ivica Crnkovic

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

Tassio Vale

Federal University of Bahia

Eduardo Santana de Almeida

Federal University of Bahia

Paulo Anselmo da Mota

Silveira Neto

Universidade Federal de Pernambuco

Yguaratã Cerqueira Cavalcanti

Universidade Federal de Pernambuco

Silvio Romero de Lemos Meira

Universidade Federal de Pernambuco

Journal of Systems and Software

0164-1212 (ISSN)

Vol. 111

Areas of Advance

Information and Communication Technology

Driving Forces

Sustainable development

Subject Categories

Computer and Information Science

Software Engineering


Basic sciences



More information

Latest update