Adaptation of Adversaries 
- The adversaries are motivated to transform the test data to reduce the learner’s effectiveness.
- Spam filter designers
- Attempt to learn good filters by training their algorithms on Spam (and legitimate) email messages received in the recent past.
- Are motivated to reverse-engineer existing Spam filters and use this knowledge to generate messages which are different enough from the (inferred) training data to circumvent the filters.
- Increase the robustness of the learning algorithm to generic training/test data differences via standard methods such as regularization or minimization of worst-case loss 
- However, these techniques do not account for the adversarial nature of the training/test set discrepancies and may be overly conservative.
- Predictive analystics to anticipate and counter the adversaries 
- For example, predictions can be made using extrapolation or game-theoretic considerations, and can be employed to transform training instances so that they become similar to (future) test data and therefore provider a more appropriate basis for learning.
- Time-varying posture to increase uncertainty 
- This approach is flexible, scalable, easy to implement, and hard to reverse-engineer.
 Moving Target Defense for Adaptive Adversaries, by Richard Colbaugh and Kristin Glass, in ISI 2013.
The occurrence of an event is usually signaled by an interrupt from either the hardware or the software.
- Hardware may trigger an interrupt at any time by sending signal to the CPU, usually by way of the system bus.
- Software (called Trap)
- Software may trigger an interrupt by executing a special operation called a system call.
- The Trap could be, e.g., division by zero, or invalid memory access
- Before the interrupt
- Before enter the interrupt, the return address will be stored on the system stack.
- After the interrupt
- After the interrupt is serviced, the saved return address is loaded into the program counter, and the interrupted computation resumes s through the interrupt had not occurred.
When a computer start running, i.e., when it is powered up or rebooted. it needs to have an initial program to run.
This initial program, or bootstrap program, tends to be simple. Typically, it is stored in read-only memory (ROM) or eletrically erasable programmable read-only memory (EEPROM), known by the general term firmware, within the computer hardware.
A bit is the basic unit of computer storage. It can contain one of two values, zero or one.
A byte is 8 bits, and on most computers it is the smallest convenient chunk of storage.
- For example, most computers don’t have an instruction to move a bit but do have one to move a byte
A word is generally made up of one or more bytes.
- For example, a computer may have instructions to move 64-bit (8-byte) words.
- (1024)^2 Bytes
- Usually round off as 1 million bytes
- (1024)^3 Bytes
- Usually round off as 1 billion bytes