Software comprehension (understanding software structure and behavior) is essential for developing, maintaining, and improving software. This is particularly true of agent-based s...
Software systems today often run in malicious environments in which attacks or intrusions are quite common. This situation has brought security concerns into the development of so...
Building software product lines (SPLs) with features is a challenging task. Many SPL implementations support features with coarse granularity ? e.g., the ability to add and wrap e...
The possibility of building self-aware software fascinated computer scientist since the beginning of computer science. Research in AI, and in particular on software agents, agent s...
The typical software engineering course consists of lectures in which concepts and theories are conveyed, along with a small “toy” software engineering project which attempts ...