| Empirical Software Engineering |
| Software reuse, understanding and maintenance. |
| Reengineering, reverse engineering and refactoring |
| Program analysis; static and dynamic |
| Software product lines |
| Feature location and identification |
| Change impact analysis |
| Software architectures and components. |
| Software Testing. |
| APIs and software libraries reusability and usability. |