, * acknowledge reception * ) ( SACK0

, * correct control bit * ) GET

, * message M delivery * ) RACK0

, * incorrect control bit => * ), p.1

, * sending an incorrect ack * )

, * loss indication => * ), p.1

, * sending an incorrect ack * )

, * sending an incorrect ack * )

H. Agrawal and J. R. Horgan, Dynamic program slicing, Proc. PLDI'90, pp.246-256, 1990.

H. Agrawal, J. R. Horgan, S. London, and W. E. Wong, Fault localization using execution slices and dataflow tests, Proc. of ISSRE'95, pp.143-151, 1995.

K. Abe, S. Kawasoe, T. Asai, H. Arimura, and S. Arikawa, Optimized substructure discovery for semi-structured data, Proc. of PKDD'02, vol.2431, pp.1-14, 2002.

A. Avizienis, J. Laprie, B. Randell, and C. E. Landwehr, Basic concepts and taxonomy of dependable and secure computing, IEEE Trans. Dependable Sec. Comput, vol.1, issue.1, pp.11-33, 2004.

A. V. Aho, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques, and Tools, 1986.

T. Bolognesi and E. Brinksma, Introduction to the ISO Specification Language LOTOS, Computer Networks, vol.14, pp.25-59, 1987.

A. Bracciali, A. Brogi, and C. Canal, A Formal Approach to Component Adaptation, Journal of Software Systems, vol.74, issue.1, 2005.

I. Beer, S. Ben-david, H. Chockler, A. Orni, and R. J. Trefler, Explaining counterexamples using causality. Formal Methods in System Design, vol.40, pp.20-40, 2012.

D. Beyer, A. Chlipala, T. A. Henzinger, R. Jhala, and R. Majumdar, Generating tests from counterexamples, Proc. of ICSE'04, pp.326-335, 2004.

M. Bekkouche, H. Collavizza, and M. Rueher, LocFaults: A New Flow-driven and Constraint-based Error Localization Approach, Proc. of SAC'15, pp.1773-1780, 2015.
URL : https://hal.archives-ouvertes.fr/hal-01094227

R. Baecker, C. Digiano, and A. Marcus, Software visualization for debugging, Commun. ACM, vol.40, issue.4, pp.44-54, 1997.

T. Bultan, C. Ferguson, and X. Fu, A Tool for Choreography Analysis Using Collaboration Diagrams, Proc. of ICWS'09, 2009.

B. Baudry, F. Fleurey, and Y. L. Traon, Improving test suites for efficient fault localization, Proc. of ICSE'06, pp.82-91, 2006.
URL : https://hal.archives-ouvertes.fr/inria-00542783

A. Beer, S. Heidinger, U. Kühne, F. Leitner-fischer, and S. Leue, Symbolic Causality Checking Using Bounded Model Checking, Proc. of SPIN'15, vol.9232, pp.203-221, 2015.

C. Baier and J. Katoen, Principles of Model Checking, 2008.

G. Barbon, V. Leroy, and G. Salaün, Debugging of Concurrent Systems Using Counterexample Analysis, Proc. of FSEN'17, vol.10522, pp.20-34, 2017.
URL : https://hal.archives-ouvertes.fr/hal-01533401

G. Barbon, V. Leroy, and G. Salaün, Counterexample Simplification for Liveness Property Violation, Proc. of SEFM'18, vol.10886, pp.173-188, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01818790

T. Ball, M. Naik, and S. K. Rajamani, From symptom to cause: localizing errors in counterexample traces, Proc. of POPL'03, pp.97-105, 2003.

S. Blom and S. Orzan, Distributed state space minimization, STTT, vol.7, issue.3, pp.280-291, 2005.

A. Brogi and R. Popescu, Automated generation of BPEL adapters, Proc. of ICSOC'06, vol.4294, pp.27-39

. Springer, , 2006.

T. Ball, K. Sriram, and . Rajamani, The SLAM toolkit, Proc. of CAV'01, vol.2102, pp.260-264, 2001.

M. T. Befrouei, C. Wang, and G. Weissenbacher, Abstraction and Mining of Traces to Explain Concurrency Bugs, Proc. of RV'14, vol.8734, pp.162-177, 2014.

J. Choi, T. Bowen-alpern, M. Ngo, J. M. Sridharan, and . Vlissides, A perturbation-free replay platform for cross-optimized multithreaded applications, Proc. of IPDPS'01, p.23, 2001.

A. Cimatti, E. M. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore et al., Nusmv 2: An opensource tool for symbolic model checking, Proc. of CAV'02, vol.2404, pp.359-364, 2002.

S. Chaki, E. M. Clarke, A. Groce, S. Jha, and H. Veith, Modular verification of software components in C, IEEE Trans. Software Eng, vol.30, issue.6, pp.388-402, 2004.

D. Champelovier, X. Clerc, H. Garavel, Y. Guerte, F. Lang et al., Reference Manual of the LNT to LOTOS Translator (Version 6.7). INRIA/VASY and INRIA/CONVECS, 153 pages, 2018.

M. Clavel, F. Durán, S. Eker, P. Lincoln, N. Martí-oliet et al., All About Maude -A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic, Lecture Notes in Computer Science, vol.4350, 2007.

F. Calzolai, R. D. Nicola, M. Loreti, and F. Tiezzi, Tapas: A tool for the analysis of process algebras. Trans. Petri Nets and Other Models of Concurrency I, vol.5100, pp.54-70, 2008.

J. F. Sjoerd-cranen, . Groote, J. A. Jeroen, . Keiren, P. M. Frank et al., An overview of the mcrl2 toolset and its recent advances, Proc. of TACAS'13, vol.7795, pp.199-213, 2013.

E. M. Clarke, O. Grumberg, and D. A. Peled, Model checking, 2001.

S. Chaki, A. Groce, and O. Strichman, Explaining abstract counterexamples, Proc. of SIGSOFT FSE'04, pp.73-82, 2004.

J. Christ and J. Hoenicke, Instantiation-based interpolation for quantified formulae, Decision Procedures in Software, Hardware and Bioware, vol.10161, 2010.

E. M. Clarke, S. Jha, Y. Lu, and H. Veith, Tree-Like Counterexamples in Model Checking, Proc. of (LICS'02, pp.19-29, 2002.

. Clear-debugging-tool,

J. Cámara, J. Antonio-martín, G. Salaün, C. Canal, and E. Pimentel, Semi-Automatic Specification of Behavioural Service Adaptation Contracts, Electr. Notes Theor. Comput. Sci, vol.264, issue.1, pp.19-34, 2010.

H. Collavizza, M. Rueher, and P. Van-hentenryck, CPBPV: a constraint-programming framework for bounded program verification. Constraints, vol.15, pp.238-264, 2010.
URL : https://hal.archives-ouvertes.fr/hal-01099509

J. Choi and A. Zeller, Isolating failure-inducing thread schedules, Proc. of ISSTA'02, pp.210-220, 2002.

H. Cleve and A. Zeller, Locating causes of program failures, Proc. of ICSE'05, pp.342-351, 2005.

M. B. Dwyer, G. S. Avrunin, and J. C. Corbett, Patterns in Property Specifications for Finite-State Verification, Proc. of ICSE'99, pp.411-420, 1999.

H. Erickson, S. Da, L. C. Alves, E. B. Cordeiro, L. De et al., A method to localize faults in concurrent C programs, JSS, vol.132, pp.336-352, 2017.

R. De-nicola and F. W. Vaandrager, Action versus state based logics for transition systems, Proc. of Semantics of Systems of Concurrent Processes, vol.469, pp.407-419, 1990.

T. Elmas, J. Burnim, G. C. Necula, and K. Sen, CON-CURRIT: a domain specific language for reproducing concurrency bugs, Proc. of PLDI'13, pp.153-164, 2013.

H. Evrard and F. Lang, Automatic Distributed Code Generation from Formal Models of Asynchronous Processes Interacting by Multiway Rendezvous, JLAMP, vol.88, p.33, 2017.
URL : https://hal.archives-ouvertes.fr/hal-01412911

E. Ermis, M. Schäf, and T. Wies, Error invariants, Proc. of FM'12, vol.7436, pp.187-201, 2012.

X. Fu, T. Bultan, and J. Su, Conversation Protocols: A Formalism for Specification and Verification of Reactive Electronic Services, Theoretical Computer Science, vol.328, issue.1-2, pp.19-37, 2004.

G. Di-fatta, S. Leue, and E. Stegantova, Discriminative Pattern Mining in Software Fault Detection, Proc. of SOQUA'06, pp.62-69, 2006.

E. Farchi, Y. Nir, and S. Ur, Concurrent bug patterns and how to test them, Proc. of IPDPS'03, p.286, 2003.

G. Goessler and L. Astefanoaei, Blaming in component-based real-time systems, Proc. of EMSOFT'14, vol.7, pp.1-7, 2014.

A. Groce, S. Chaki, D. Kroening, and O. Strichman, Error explanation with distance metrics, STTT, vol.8, issue.3, pp.229-247, 2006.

A. Groce and D. Kroening, Making the most of BMC counterexamples, ENTCS, vol.119, issue.2, pp.67-81, 2005.

A. Groce, D. Kroening, and F. Lerda, Understanding counterexamples with explain, Proc. of CAV'04, vol.3114, pp.453-456, 2004.

H. Garavel and F. Lang, SVL: A Scripting Language for Compositional Verification, Proc. of FORTE'01, vol.197, pp.377-394, 2001.
URL : https://hal.archives-ouvertes.fr/inria-00072396

H. Garavel, F. Lang, R. Mateescu, and W. Serwe, CADP 2011: A Toolbox for the Construction and Analysis of Distributed Processes. STTT, vol.15, pp.89-107, 2013.
URL : https://hal.archives-ouvertes.fr/hal-00715056

G. Gößler and D. L. Métayer, A General Trace-Based Framework of Logical Causality, Proc. of FACS'13, vol.8348, pp.157-173, 2013.

G. Gößler and D. L. Métayer, A general framework for blaming in component-based systems, Sci. Comput. Program, vol.113, pp.223-235, 2015.

G. Gößler, D. L. Métayer, and J. Raclet, Causality analysis in contract violation, Proc. of RV'10, vol.6418, pp.270-284, 2010.

C. Gierds, A. J. Mooij, and K. Wolf, Reducing Adapter Synthesis to Controller Synthesis, IEEE T. Services Computing, vol.5, issue.1, 2012.

A. Groce, Error explanation with distance metrics, Proc. of TACAS'04, vol.2988, pp.108-122, 2004.

G. Gössler and G. Salaün, Realizability of Choreographies for Services Interacting Asynchronously, Proc. of FACS'11, vol.7253, pp.151-167, 2011.

G. Gößler and J. Stefani, Fault ascription in concurrent systems, Proc. of TGC'15, vol.9533, pp.79-94, 2015.

A. Griesmayer, S. Staber, and R. Bloem, Automated fault localization for C programs, Electr. Notes Theor. Comput. Sci, vol.174, issue.4, pp.95-111, 2007.

A. Griesmayer, S. Staber, and R. Bloem, Fault localization using a model checker, Softw. Test., Verif. Reliab, vol.20, issue.2, pp.149-173, 2010.

M. Grottke, S. Kishor, and . Trivedi, A classification of software faults, Journal of Reliability Engineering Association of Japan, vol.27, issue.7, pp.425-438, 2005.

H. Garavel and D. Thivolle, Verification of GALS systems by combining synchronous languages and process calculi, Proc. of SPIN'09, vol.5578, pp.241-260, 2009.
URL : https://hal.archives-ouvertes.fr/inria-00388819

A. Groce and W. Visser, What went wrong: Explaining counterexamples, Proc. of SPIN'03, vol.2648, pp.121-135, 2003.

J. Friso-groote and F. Van-ham, Large State Space Visualization, Proc. of TACAS'03, vol.2619, pp.585-590, 2003.

J. Friso-groote and F. Van-ham, Interactive visualization of large state spaces, STTT, vol.8, issue.1, pp.77-91, 2006.

M. Hutchins, H. Foster, T. Goradia, and T. J. Ostrand, Experiments of the effectiveness of dataflow-and controlflow-based test adequacy criteria, Proc. of ICSE'94, pp.191-200, 1994.

H. He and N. Gupta, Automated debugging using path-based weakest preconditions, Proc. of FASE'04, vol.2984, pp.267-280, 2004.

T. A. Henzinger and R. Jhala, Rupak Majumdar, and Grégoire Sutre. Lazy abstraction, Proc. of POPL'02, pp.58-70, 2002.

G. J. Holzmann, The model checker SPIN, IEEE TSE, vol.23, issue.5, pp.279-295, 1997.

Y. Joseph, J. Halpern, and . Pearl, Causes and explanations: A structuralmodel approach. part i: Causes. The British Journal for the Philosophy of Science, vol.56, pp.843-887, 2005.

C. Inria and . Team, CADP demo, vol.01

J. A. Jones, M. J. Harrold, and J. T. Stasko, Visualization of test information to assist fault localization, Proc. of ICSE'02, pp.467-477, 2002.

T. Jéron and C. Jard, Testing for Unboundedness of FIFO, Channels. Theor. Comput. Sci, vol.113, issue.1, pp.93-117, 1993.

H. Jin, K. Ravi, and F. Somenzi, Fate and Free Will in Error Traces, Proc. of TACAS'02, vol.2280, pp.445-459

. Springer, , 2002.

P. A. Kidwell, Stalking the elusive computer bug, IEEE Annals of the History of Computing, vol.20, issue.4, pp.5-9, 1998.

B. Korel and J. W. Laski, Dynamic slicing of computer programs, Journal of Systems and Software, vol.13, issue.3, pp.187-195, 1990.

G. Kant, A. Laarman, J. Meijer, J. Van-de-pol, S. Blom et al., Ltsmin: High-performance language-independent model checking, Proc. of TACAS'15, vol.9035, pp.692-707

. Springer, , 2015.

M. Z. Kwiatkowska, G. Norman, and D. Parker, PRISM: probabilistic symbolic model checker, Proc. of TOOLS'02, vol.2324, pp.200-204, 2002.

L. Lamport, Time, clocks, and the ordering of events in a distributed system, Commun. ACM, vol.21, issue.7, pp.558-565, 1978.

S. Leue and M. T. Befrouei, Counterexample explanation by anomaly detection, Proc. of SPIN'12, vol.7385, pp.24-42, 2012.

S. Leue and M. T. Befrouei, Mining Sequential Patterns to Explain Concurrent Counterexamples, Proc. of SPIN'13, vol.7976, pp.264-281, 2013.

K. David, . Lewis, . Counterfactuals, and . Blackwell, , 1973.

H. Lieberman, The debugging scandal and what to do about it (introduction to the special section), Commun. ACM, vol.40, issue.4, pp.26-29, 1997.

F. Leitner, -. Fischer, and S. Leue, Causality checking for complex system models, Proc. of VMCAI'13, vol.7737, pp.248-267, 2013.

F. Leitner, -. Fischer, and S. Leue, Spincause: a tool for causality checking, Proc. of SPIN'14, pp.117-120, 2014.

F. Lang and R. Mateescu, Partial Model Checking using Networks of Labelled Transition Systems and Boole an Equation Systems, Logical Methods in Computer Science, vol.9, issue.4, 2013.

S. Lu, S. Park, E. Seo, and Y. Zhou, Learning from mistakes: a comprehensive study on real world concurrency bug characteristics, Proc. of ASPLOS'08, pp.329-339, 2008.

P. Kim-guldstrand-larsen, W. Pettersson, and . Yi, UPPAAL in a nutshell. STTT, vol.1, issue.1-2, pp.134-152, 1997.

S. Leue, A. Stefanescu, and W. Wei, Dependency analysis for control flow cycles in reactive communicating processes, Proc. of SPIN'08, vol.5156, pp.176-195, 2008.

R. Milner, Communication and Concurrency, 1989.

J. A. Martín and E. Pimentel, Contracts for Security Adaptation, J. Log. Algebr. Program, vol.80, pp.3-5, 2011.

R. Mateescu, P. Poizat, and G. Salaün, Adaptation of service protocols using process algebra and on-the-fly reduction techniques, ServiceOriented Computing -ICSOC 2008, 6th International Conference, 2008.
URL : https://hal.archives-ouvertes.fr/hal-00717252

R. Mateescu, P. Poizat, and G. Salaün, Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques, IEEE TSE, vol.38, issue.4, pp.755-777, 2012.
URL : https://hal.archives-ouvertes.fr/hal-00717252

R. Mateescu and D. Thivolle, A Model Checking Language for Concurrent Value-Passing Systems, Proc. of FM'08, vol.5014, pp.148-164, 2008.
URL : https://hal.archives-ouvertes.fr/inria-00315312

M. Ouederni, G. Salaün, and T. Bultan, Compatibility checking for asynchronously communicating software, Proc. of FACS'13, vol.8348, 2014.
URL : https://hal.archives-ouvertes.fr/hal-00913665

D. Park, Concurrency and Automata on Infinite Sequences, Proc. of TCS'81, vol.104, pp.167-183, 1981.

L. Gary and . Peterson, Myths about the mutual exclusion problem, Inf. Process. Lett, vol.12, issue.3, pp.115-116, 1981.

. Polyspace,

M. Papadakis and Y. L. Traon, Effective Fault Localization via Mutation Analysis: A Selective Mutation Approach, Proc. of SAC'14, pp.1293-1300, 2014.

K. Ravi and F. Somenzi, Minimal assignments for bounded model checking, Proc. of TACAS'04, vol.2988, pp.31-45

. Springer, , 2004.

G. Salaün, T. Bultan, and N. Roohi, Realizability of Choreographies Using Process Algebra Encodings, IEEE Transactions on Services Computing, vol.5, issue.3, pp.290-304, 2012.

G. Salaün, L. Bordeaux, and M. Schaerf, Describing and Reasoning on Web Services using Process Algebra, Proc. of ICWS'04, pp.43-50, 2004.

R. Seguel, R. Eshuis, and P. W. Grefen, Generating Minimal Protocol Adaptors for Loosely Coupled Services, Proc. of ICWS'10, 2010.

G. Salaün, X. Etchevers, N. D. Palma, F. Boyer, and T. Coupaye, Verification of a Self-configuration Protocol for Distributed Applications in the Cloud, Assurances for Self-Adaptive Systems, pp.60-79, 2013.

G. Salaün and L. Ye, Debugging Process Algebra Specifications, Proc. of VMCAI'15, vol.8931, pp.245-262, 2015.

. Robert-endre-tarjan, Depth-First Search and Linear Graph Algorithms, SIAM J. Comput, vol.1, issue.2, pp.146-160, 1972.

F. Tip, A survey of program slicing techniques, J. Prog. Lang, vol.3, issue.3, 1995.

W. M. Van-der-aalst, A. J. Mooij, C. Stahl, and K. Wolf, Service Interaction: Patterns, Formalization, and Analysis, Proc. of SFM'09, vol.5569, 2009.

W. Visser, K. Havelund, G. P. Brat, and S. Park, Model checking programs, Proc. of ASE'00, pp.3-12, 2000.

S. Wang, A. Ayoub, B. Kim, and G. Gößler, Oleg Sokolsky, and Insup Lee. A causality analysis framework for component-based real-time systems, Proc. of RV'13, vol.8174, pp.285-303

. Springer, , 2013.

M. Weiser, Program slices: formal, psychological, and practical investigations of an automatic program abstraction method, 1979.

M. Weiser, Programmers use slices when debugging, Commun. ACM, vol.25, issue.7, pp.446-452, 1982.

S. Wang, Y. Geoffroy, G. Gößler, O. Sokolsky, and I. Lee, A hybrid approach to causality analysis, Proc. of RV'15, vol.9333, pp.250-265, 2015.
URL : https://hal.archives-ouvertes.fr/hal-01211607

W. E. Wong, R. Gao, Y. Li, R. Abreu, and F. Wotawa, A Survey on Software Fault Localization, IEEE TSE, vol.42, issue.8, pp.707-740, 2016.

C. Wang, Z. Yang, F. Ivancic, and A. Gupta, Whodunit? causal analysis for counterexamples, Proc. of ATVA'06, vol.4218, pp.82-95, 2006.

X. Yan, J. Han, and R. Afshar, CloSpan: Mining Closed Sequential Patterns in Large Datasets, Proc. of SDM'03, pp.166-177, 2003.

M. Zaki, Efficiently mining frequent trees in a forest, Proc. of KDD'02, pp.71-80, 2002.

A. Zeller, Yesterday, my program worked. today, it does not. why?, Proc. of ESEC/SIGSOFT FSE'99, vol.1687, pp.253-267

. Springer, , 1999.

A. Zeller, Isolating cause-effect chains from computer programs, Proc. of SIGSOFT FSE'02, pp.1-10, 2002.

A. Zeller, Why Programs Fail -A Guide to Systematic Debugging, 2009.

A. Zeller and R. Hildebrandt, Simplifying and isolating failureinducing input, IEEE TSE, vol.28, issue.2, pp.183-200, 2002.