I post this quick and dirty note of mine; any comments?
When facing the research topics of software engineering, three main research approaches can be identified: theoretical, engineering, and empirical.
The theoretical approach aims at developing new computational models, languages, and notations.
The engineering one has the goal of developing tools and techniques to solve practical problems by means of existing technology and available knowledge.
Eventually, the empirical approach attempts to assess, as objectively as possible, the tools, techniques, and methods used to develop software; it is based on the scientific method of hypothesis formulation and their verification and confutation.
As far as I am concerned, during the initial year of my research activity I adopted an engineering approach, then I progressively embraced an empirical approach.