Avoiding bugs pro-actively by change-oriented programming
Proceedings of the 1st Workshop on Testing Object-Oriented Systems
Proceedings of the 10th Working Conference on Mining Software Repositories
Clustering navigation sequences to create contexts for guiding code navigation
Journal of Systems and Software
Hi-index | 0.00 |
Logical coupling reveals implicit dependencies between program entities, by measuring how often they changed together during development. Current approaches use coarse-grained change information extracted from the version control history of the software system under study. Entities that are registered as having changed during a commit transaction have their coupling increased by the same amount, regardless of how and how much they actually changed. We present several new logical coupling measures taking into account fine-grained semantic changes. We evaluate their respective accuracy compared to the classical logical coupling measure on two case studies; in particular, we evaluate how well the new measures can estimate logical coupling with less data. Results show that our approach based on fine-grained information greatly ameliorates the state-of-the-art of logical coupling detection.