Empirical Software Engineering

Software engineering is an engineering discipline. Understanding a discipline implies observation, model building, and empirical knowledge. Empirical Software Engineering (ESE) is a part of Software Engineering that emphasizes the undertaking of empirical studies to collect data for validating theories on software systems (software products, processes, and resources). Methods used include quantitative and qualitative approaches such as experiments, case studies or surveys. This research area requires real world laboratories to observe and manipulate the variables that describe how developers conceptualize, build and maintain software systems, and how the latter are explored in practice.

This research thread aims at progressing the state of the art in Software Engineering, with an emphasis on the application of empirical validation approaches, as well as disseminating best practices in that scope, in academia and industry. Currently, we are tackling the following topics:

  • crowdsourcing-based approaches to improve software maintenance;
  • web apps quality assessment;
  • interactive development environment (IDE) extensions for process awareness;
  • Matlab / Octave program comprehension;
  • release practices in open source projects;
  • patterns for designing IT infrastructures;
  • methods and tools for improving API usability;
  • knowledge management and reference ontologies;
  • negotiation mechanisms connected to decision support systems.

Researchers

Ongoing projects

Past projects

Keywords

Machine learning, process mining, cloud computing, ontologies, decision support systems, metamodel-driven measurement.

Publications

Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.