- Termination Analyzer H prevents Denial of Service attacks - 1 Update
- Strange optimization - 2 Updates
- Program with 3 threads mysteriously has 8 threads - 1 Update
- Can D simulated by H terminate normally? - 1 Update
olcott <polcott2@gmail.com>: Jun 13 04:38PM -0500 When termination analyzer H is intended to prevent denial of service attacks is presented with an input D that has been defined to have a pathological relationship to this termination analyzer, it correctly aborts the simulation of this input that would have otherwise caused H to never terminate until system resources have been exhausted, crashing the system. Can D correctly simulated by H terminate normally? The x86utm operating system based on an open source x86 emulator. This system enables one C function to execute another C function in debug step mode. When H simulates D it creates a separate process context for D with its own memory, stack and virtual registers. H is able to simulate D simulating itself, thus the only limit to recursive simulations is RAM. // The following is written in C // 01 typedef int (*ptr)(); // pointer to int function 02 int H(ptr x, ptr y) // uses x86 emulator to simulate its input 03 04 int D(ptr x) 05 { 06 int Halt_Status = H(x, x); 07 if (Halt_Status) 08 HERE: goto HERE; 09 return Halt_Status; 10 } 11 12 void main() 13 { 14 H(D,D); 15 } Execution Trace Line 14: main() invokes H(D,D); keeps repeating (unless aborted) Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D) Simulation invariant: D correctly simulated by H cannot possibly reach its own line 09. H correctly determines that D correctly simulated by H cannot possibly terminate normally on the basis that H recognizes a dynamic behavior pattern equivalent to infinite recursion. The x86utm operating system (includes several termination analyzers) https://github.com/plolcott/x86utm It compiles with the 2017 version of the Community Edition https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15 -- Copyright 2023 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer |
Bonita Montero <Bonita.Montero@gmail.com>: Jun 13 08:31PM +0200 What is the if( ... ) below good for ? template<bit_cursor_iterator BitIt> constexpr uint64_t bit_cursor<BitIt>::dRead( uint64_t const &data ) noexcept { #if defined(__GNUC__) || defined(__llvm__) if( (size_t)&data % 8 ) __builtin_unreachable();
Subscribe to:
Post Comments (Atom)
|
No comments:
Post a Comment