Theory of Computer Science
- D4. Halting Problem Variants & Rice’s Theorem
Gabriele R¨
- ger
University of Basel
April 29, 2020
Gabriele R¨
- ger (University of Basel)
Theory of Computer Science April 29, 2020 1 / 24
Theory of Computer Science D4. Halting Problem Variants & Rices - - PowerPoint PPT Presentation
Theory of Computer Science D4. Halting Problem Variants & Rices Theorem Gabriele R oger University of Basel April 29, 2020 Gabriele R oger (University of Basel) Theory of Computer Science April 29, 2020 1 / 24 Theory of
University of Basel
Gabriele R¨
Theory of Computer Science April 29, 2020 1 / 24
April 29, 2020 — D4. Halting Problem Variants & Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 2 / 24
Other Halting Problem Variants
Gabriele R¨
Theory of Computer Science April 29, 2020 3 / 24
Other Halting Problem Variants
Computability Turing-Computability Undecidable Problems (Semi-)Decidability Halting Problem Reductions Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 4 / 24
Other Halting Problem Variants
German: spezielles Halteproblem, Selbstanwendbarkeitsproblem
Gabriele R¨
Theory of Computer Science April 29, 2020 5 / 24
Other Halting Problem Variants
German: allgemeines Halteproblem, Halteproblem
Gabriele R¨
Theory of Computer Science April 29, 2020 6 / 24
Other Halting Problem Variants
Gabriele R¨
Theory of Computer Science April 29, 2020 7 / 24
Other Halting Problem Variants
German: Halteproblem auf leerem Band
Gabriele R¨
Theory of Computer Science April 29, 2020 8 / 24
Other Halting Problem Variants
Gabriele R¨
Theory of Computer Science April 29, 2020 9 / 24
Other Halting Problem Variants
◮ If the input is empty: write x onto the tape and move the head to the first symbol of x (if x = ε); then stop ◮ otherwise, stop immediately
Gabriele R¨
Theory of Computer Science April 29, 2020 10 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 11 / 24
Rice’s Theorem
Computability Turing-Computability Undecidable Problems (Semi-)Decidability Halting Problem Reductions Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 12 / 24
Rice’s Theorem
◮ special halting problem K ◮ general halting problem H ◮ halting problem on empty tape H0
Gabriele R¨
Theory of Computer Science April 29, 2020 13 / 24
Rice’s Theorem
German: Satz von Rice
Gabriele R¨
Theory of Computer Science April 29, 2020 14 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 15 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 16 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 17 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 18 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 19 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 20 / 24
Rice’s Theorem
0 → N0 | f (x, y) = x + y}
Gabriele R¨
Theory of Computer Science April 29, 2020 21 / 24
Rice’s Theorem
Gabriele R¨
Theory of Computer Science April 29, 2020 22 / 24
Rice’s Theorem
◮ Can a given variable ever receive a null value? ◮ Can a given assertion in a program ever trigger? ◮ Can a given buffer ever overflow?
◮ Can this code do something harmful? ◮ Is this program vulnerable to SQL injections? ◮ Can this program lead to a privilege escalation?
◮ Is this dead code? ◮ Is this a constant expression? ◮ Can pointer aliasing happen here? ◮ Is it safe to parallelize this code path?
◮ Is a deadlock possible here? ◮ Can a race condition happen here?
Gabriele R¨
Theory of Computer Science April 29, 2020 23 / 24
Summary
Gabriele R¨
Theory of Computer Science April 29, 2020 24 / 24