We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose refactoring procedures that disentangle detected locks. Our development is cast within a simple setting of a finite linear CCS variant \^a although it suffices to illustrate the main concepts, we also discuss how our work extends to other language extensions.
@article{arxiv.1508.03901,
title = {Unlocking Blocked Communicating Processes},
author = {Adrian Francalanza and Marco Giunti and António Ravara},
journal= {arXiv preprint arXiv:1508.03901},
year = {2016}
}