Static program analysisIn computer science, static program analysis (or static analysis) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution. The term is usually applied to analysis performed by an automated tool, with human analysis typically being called "program understanding", program comprehension, or code review. In the last of these, software inspection and software walkthroughs are also used.
Search algorithmIn computer science, a search algorithm is an algorithm designed to solve a search problem. Search algorithms work to retrieve information stored within particular data structure, or calculated in the search space of a problem domain, with either discrete or continuous values. Although search engines use search algorithms, they belong to the study of information retrieval, not algorithmics. The appropriate search algorithm to use often depends on the data structure being searched, and may also include prior knowledge about the data.
DisassemblerA disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. Disassembly, the output of a disassembler, is often formatted for human-readability rather than suitability for input to an assembler, making it principally a reverse-engineering tool. Common uses of disassemblers include analyzing high-level programing language compilers output and their optimizations, recovering source code of a program whose original source was lost, malware analysis, modifying software (such as ROM hacking), and software cracking.
Translator (computing)A translator or programming language processor is a generic term that can refer to a compiler, assembler, or interpreter—anything that converts code from one computer language into another. These include translations between high-level and human-readable computer languages such as C++ and Java, intermediate-level languages such as Java bytecode, low-level languages such as the assembly language and machine code, and between similar levels of language on different computing platforms, as well as from any of these to any other of these.
Unix shellA Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts. Users typically interact with a Unix shell using a terminal emulator; however, direct operation via serial hardware connections or Secure Shell are common for server systems.
Cinnamon (desktop environment)Cinnamon is a free and open-source desktop environment for Linux and Unix-like operating systems, deriving from GNOME 3 but following traditional desktop metaphor conventions. The development of Cinnamon began by the Linux Mint team as a reaction to the April 2011 release of GNOME 3 in which the conventional desktop metaphor of GNOME 2 was abandoned in favor of GNOME Shell. Following several attempts to extend GNOME 3 such that it would suit the Linux Mint design goals, the Mint developers forked several GNOME 3 components to build an independent desktop environment.
CoccinellidaeCoccinellidae (,kɒksɪ'nɛlɪdiː) is a widespread family of small beetles. They are commonly known as ladybugs in North America and ladybirds in the United Kingdom; "lady" refers to mother Mary. Entomologists use the names ladybird beetles or lady beetles to avoid confusion with true bugs. The more than 6,000 described species have a global distribution and are found in a variety of habitats. They are oval beetles with a domed back and flat underside. They are sexually dimorphic; adult females are larger than males.