Optimizing cell-based software architecture through heuristic community detection approach | Synapse