HeartbleedHeartbleed is a security bug in some outdated versions of the OpenSSL cryptography library, which is a widely used implementation of the Transport Layer Security (TLS) protocol. It was introduced into the software in 2012 and publicly disclosed in April 2014. Heartbleed could be exploited regardless of whether the vulnerable OpenSSL instance is running as a TLS server or client. It resulted from improper input validation (due to a missing bounds check) in the implementation of the TLS heartbeat extension.
Objective-CObjective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP, Objective-C was the standard programming language used, supported, and promoted by Apple for developing macOS and iOS applications (via their respective APIs, Cocoa and Cocoa Touch) until the introduction of the Swift programming language in 2014.
Program analysisIn computer science, program analysis is the process of automatically analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization and program correctness. The first focuses on improving the program’s performance while reducing the resource usage while the latter focuses on ensuring that the program does what it is supposed to do.
FuzzingIn programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exceptions such as crashes, failing built-in code assertions, or potential memory leaks. Typically, fuzzers are used to test programs that take structured inputs. This structure is specified, e.g., in a or protocol and distinguishes valid from invalid input.
Capital punishmentCapital punishment, also known as the death penalty and formerly called judicial homicide, is the state-sanctioned practice of killing a person as a punishment for a crime, usually following an authorized, rule-governed process to conclude that the person is responsible for violating norms that warrant said punishment. The sentence ordering that an offender be punished in such a manner is known as a death sentence, and the act of carrying out the sentence is known as an execution.
Summary executionA summary execution is an execution in which a person is accused of a crime and immediately killed without the benefit of a full and fair trial. Executions as the result of summary justice (such as a drumhead court-martial) are sometimes included, but the term generally refers to capture, accusation, and execution all conducted within a very short period of time, and without any trial. Under international law, refusal to accept lawful surrender in combat and instead killing the person surrendering is also categorized as a summary execution (as well as murder).
Failure mode and effects analysisFailure mode and effects analysis (FMEA; often written with "failure modes" in plural) is the process of reviewing as many components, assemblies, and subsystems as possible to identify potential failure modes in a system and their causes and effects. For each component, the failure modes and their resulting effects on the rest of the system are recorded in a specific FMEA worksheet. There are numerous variations of such worksheets.