interoperability guided testing of quic implementations
play

Interoperability-Guided Testing of QUIC Implementations using - PowerPoint PPT Presentation

Interoperability-Guided Testing of QUIC Implementations using Symbolic Execution Felix Rath , Daniel Schemmel, Klaus Wehrle https://comsys.rwth-aachen.de EPIQ Workshop, Heraklion, Greece, 2018-12-04 QUANT ? Mozquic ? mvfst ? picoquic ?


  1. Interoperability-Guided Testing of QUIC Implementations using Symbolic Execution Felix Rath , Daniel Schemmel, Klaus Wehrle https://comsys.rwth-aachen.de EPIQ Workshop, Heraklion, Greece, 2018-12-04

  2. QUANT ? Mozquic ? mvfst ? picoquic ? AppleQUIC ? Are the implementations interoperable? Motivation 2 Felix Rath

  3. QUANT ? Mozquic ? mvfst ? picoquic ? AppleQUIC ? Are the implementations interoperable? Motivation 2 Felix Rath

  4. QUANT ? Mozquic ? mvfst ? picoquic ? AppleQUIC ? Are the implementations interoperable? Motivation 2 Felix Rath

  5. QUANT ? Mozquic ? mvfst ? picoquic ? AppleQUIC ? Are the implementations interoperable? Motivation 2 Felix Rath

  6. QUANT ? Mozquic ? mvfst ? picoquic ? AppleQUIC ? Are the implementations interoperable? Motivation 2 Felix Rath

  7. QUANT ? Mozquic ? mvfst ? picoquic ? AppleQUIC ? Are the implementations interoperable? Motivation 2 Felix Rath

  8. QUANT ? Mozquic ? mvfst ? picoquic ? AppleQUIC ? Are the implementations interoperable? Motivation 2 Felix Rath

  9. Can analyze complex communications Uncovered subtle, hard-to-detect bugs But: Deep interoperability testing requires more insight into implementations Our idea: Comparing belief states of endpoints Based on a common defjnition Provided by implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work 3 Felix Rath

  10. Uncovered subtle, hard-to-detect bugs But: Deep interoperability testing requires more insight into implementations Our idea: Comparing belief states of endpoints Based on a common defjnition Provided by implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work ▶ Can analyze complex communications 3 Felix Rath

  11. But: Deep interoperability testing requires more insight into implementations Our idea: Comparing belief states of endpoints Based on a common defjnition Provided by implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work ▶ Can analyze complex communications ▶ Uncovered subtle, hard-to-detect bugs 3 Felix Rath

  12. Our idea: Comparing belief states of endpoints implementations Based on a common defjnition Provided by implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work ▶ Can analyze complex communications ▶ Uncovered subtle, hard-to-detect bugs • But: Deep interoperability testing requires more insight into 3 Felix Rath

  13. implementations Based on a common defjnition Provided by implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work ▶ Can analyze complex communications ▶ Uncovered subtle, hard-to-detect bugs • But: Deep interoperability testing requires more insight into • Our idea: Comparing belief states of endpoints 3 Felix Rath

  14. Provided by implementations implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work ▶ Can analyze complex communications ▶ Uncovered subtle, hard-to-detect bugs • But: Deep interoperability testing requires more insight into • Our idea: Comparing belief states of endpoints ▶ Based on a common defjnition 3 Felix Rath

  15. implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work ▶ Can analyze complex communications ▶ Uncovered subtle, hard-to-detect bugs • But: Deep interoperability testing requires more insight into • Our idea: Comparing belief states of endpoints ▶ Based on a common defjnition ▶ Provided by implementations 3 Felix Rath

  16. implementations We would like to propose the development of a comon way to query implementations for their current belief state. Results Summary • State-of-the-Art software testing approaches work ▶ Can analyze complex communications ▶ Uncovered subtle, hard-to-detect bugs • But: Deep interoperability testing requires more insight into • Our idea: Comparing belief states of endpoints ▶ Based on a common defjnition ▶ Provided by implementations 3 Felix Rath

  17. Observations: Requires a new “implementation” in the form of a specifjcation Even then: Verifjcation of implementations almost impossible Many implementations already available Test multiple implementations against each other Interoperability-issues occur when “things go wrong” Result: Either non-compliance or bug in standard Testing Interoperability • Checking an implementation for standard compliance is problematic 4 Felix Rath

  18. Observations: Even then: Verifjcation of implementations almost impossible Many implementations already available Test multiple implementations against each other Interoperability-issues occur when “things go wrong” Result: Either non-compliance or bug in standard Testing Interoperability • Checking an implementation for standard compliance is problematic • Requires a new “implementation” in the form of a specifjcation 4 Felix Rath

  19. Observations: Many implementations already available Test multiple implementations against each other Interoperability-issues occur when “things go wrong” Result: Either non-compliance or bug in standard Testing Interoperability • Checking an implementation for standard compliance is problematic • Requires a new “implementation” in the form of a specifjcation • Even then: Verifjcation of implementations almost impossible 4 Felix Rath

  20. Test multiple implementations against each other Observations: Interoperability-issues occur when “things go wrong” Result: Either non-compliance or bug in standard Testing Interoperability • Checking an implementation for standard compliance is problematic • Requires a new “implementation” in the form of a specifjcation • Even then: Verifjcation of implementations almost impossible • Many implementations already available 4 Felix Rath

  21. Observations: Interoperability-issues occur when “things go wrong” Result: Either non-compliance or bug in standard Testing Interoperability • Checking an implementation for standard compliance is problematic • Requires a new “implementation” in the form of a specifjcation • Even then: Verifjcation of implementations almost impossible • Many implementations already available • → Test multiple implementations against each other 4 Felix Rath

  22. Result: Either non-compliance or bug in standard Observations: Testing Interoperability • Checking an implementation for standard compliance is problematic • Requires a new “implementation” in the form of a specifjcation • Even then: Verifjcation of implementations almost impossible • Many implementations already available • → Test multiple implementations against each other • Interoperability-issues occur when “things go wrong” 4 Felix Rath

  23. Observations: Testing Interoperability • Checking an implementation for standard compliance is problematic • Requires a new “implementation” in the form of a specifjcation • Even then: Verifjcation of implementations almost impossible • Many implementations already available • → Test multiple implementations against each other • Interoperability-issues occur when “things go wrong” • Result: Either non-compliance or bug in standard 4 Felix Rath

  24. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

  25. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

  26. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

  27. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

  28. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

  29. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

  30. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

  31. Example 1: 4 open streams + 1 closed stream 5 open streams Example 2: malformed (?) packet “Things Going Wrong” 5 Felix Rath

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend