—Bug fixing accounts for a large amount of the software maintenance resources. Generally, bugs are reported, fixed, verified and closed. However, in some cases bugs have to be...
—We present a semi-automated approach for the reverse engineering of UML sequence diagrams. Our approach starts with a set of execution traces that are automatically aligned in o...
—In a software project, outsourcing the development of a particular functionality, reusing a part in another software, or handing-over a part of the code to a new team member req...
—Often stakeholders, such as developers, managers, or buyers, want to find out what software development processes are being followed within a software project. Their reasons in...
— The paper presents an approach that combines conceptual and evolutionary techniques to support change impact analysis in source code. Information Retrieval (IR) is used to deri...
Huzefa H. Kagdi, Malcom Gethers, Denys Poshyvanyk,...
Existing software product variants, developed by ad hoc reuse such as copy-paste-modify, are often a starting point for building Software Product Line (SPL). Understanding of how ...
—Concurrent programming with shared memory in an object-oriented language such as Java is notoriously difficult. Therefore, it is important to study new program understanding te...
—An important application of binary-level reverse engineering is in reconstructing the internal logic of computer malware. Most malware code is distributed in encrypted (or “pa...
Abstract—During software development, design rules and contracts in the source code are often encoded through regularities, such as API usage protocols, coding idioms and naming ...
Angela Lozano, Andy Kellens, Kim Mens, Gabriela Ar...
—The evolution of a software project is a rich data source for analyzing and improving the software development process. Recently, several research groups have tried to cluster s...