John Regehr
John Regehr is a computer scientist specializing in compiler correctness and undefined behavior. , he is a professor at the University of Utah. He is best known for the integer overflow sanitizer which was merged into the Clang C compiler, the C compiler fuzzer Csmith, and his widely read bloEmbedded in Academia He spent the 2015-2016 academic year on sabbatical in Paris, France, working with TrustInSoft on Frama-C Frama-C is a set of interoperable program analyzers for C programs. The name ''Frama-C'' stands for ''Framework for Modular Analysis of C programs''. Frama-C has been developed by the French Commissariat à l'Énergie Atomique et aux Énergi ... and related code analysis tools. References External links John Regehr's home pageJohn Regehr on Mastodon {{DEFAULTSORT:Regehr, John Living people American computer scientists University of Utah faculty Science bloggers 21st-century science writers Year of birth missing (living people) University of Virginia ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Csmith
Csmith is a test case generation tool. It can generate random C programs that statically and dynamically conform to the C99 standard. It is used for stress-testing compilers, static analyzers, and other tools that process C code. It is a free, open source, permissively licensed C compiler fuzzer In 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 exception ... developed by researchers at the University of Utah. It was previously called Randprog. External links University of Utah Csmith webpageyarpgen Yet Another Random Program Generator, yarpgen is a random C/C++ program generator References {{reflist C (programming language) compilers ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Clang
Clang () is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compiling flags and unofficial language extensions. It includes a static analyzer, and several code analysis tools. Clang operates in tandem with the LLVM compiler back end and has been a subproject of LLVM 2.6 and later. As with LLVM, it is free and open-source software under the Apache 2.0 software license. Its contributors include Apple, Microsoft, Google, ARM, Sony, Intel, and AMD. Clang 17, the latest major version of Clang as of October 2023, has full support for all published C++ standards up to C++17, implements most features of C++20, and has initial support for the C++23 standard. Since v16.0.0, Clang compiles C++ using the GNU++17 dialect by default, which includes features fro ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
University Of Virginia
The University of Virginia (UVA) is a Public university#United States, public research university in Charlottesville, Virginia, United States. It was founded in 1819 by Thomas Jefferson and contains his The Lawn, Academical Village, a World Heritage Site, UNESCO World Heritage Site. The original governing Board of Visitors included three List of presidents of the United States, U.S. presidents: Jefferson, James Madison, and James Monroe, the latter as sitting president of the United States at the time of its foundation. As its first two Rector (academia)#United States, rectors, Presidents Jefferson and Madison played key roles in the university's foundation, with Jefferson designing both the #1800s, original courses of study and the university's #Academical Village, architecture. Located within its 1,135-acre central campus, the university is composed of eight undergraduate and three professional schools: the University of Virginia School of Law, School of Law, the University ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
University Of Utah
The University of Utah (the U, U of U, or simply Utah) is a public university, public research university in Salt Lake City, Utah, United States. It was established in 1850 as the University of Deseret (Book of Mormon), Deseret by the General Assembly of the provisional State of Deseret, making it Utah's oldest institution of higher education. The university received its current name in 1892, four years before Utah attained statehood, and moved to its current location in 1900. It is the flagship university of the Utah System of Higher Education. As of fall 2023, there were 26,827 undergraduate education, undergraduate students and 8,409 postgraduate education, graduate students, for an enrollment total of 35,236, making it the List of colleges and universities in Utah#Public institutions, second-largest public university in Utah. Graduate studies include the S.J. Quinney College of Law and the University of Utah School of Medicine, School of Medicine, Utah's first medical school ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Compiler Correctness
In computing, compiler correctness is the branch of computer science that deals with trying to show that a compiler behaves according to its language specification. Techniques include developing the compiler using formal methods and using rigorous testing (often called compiler validation) on an existing compiler. Formal verification Two main formal verification approaches for establishing correctness of compilation are proving correctness of the compiler for all inputs and proving correctness of a compilation of a particular program (translation validation). Compiler correctness for all input programs Compiler validation with formal methods involves a long chain of formal, deductive logic. However, since the tool to find the proof ( theorem prover) is implemented in software and is complex, there is a high probability it will contain errors. One approach has been to use a tool that verifies the proof (a proof checker) which, because it is much simpler than a proof-finder, ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Undefined Behavior
In computer programming, a program exhibits undefined behavior (UB) when it contains, or is executing code for which its programming language specification does not mandate any specific requirements. This is different from unspecified behavior, for which the language specification does not prescribe a result, and implementation-defined behavior that defers to the documentation of another component of the platform (such as the ABI or the translator documentation). In the C programming community, undefined behavior may be humorously referred to as "nasal demons", after a comp.std.c post that explained undefined behavior as allowing the compiler to do anything it chooses, even "to make demons fly out of your nose". Overview Some programming languages allow a program to operate differently or even have a different control flow from the source code, as long as it exhibits the same user-visible side effects, ''if undefined behavior never happens during program execution''. Undef ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Integer Overflow
In computer programming, an integer overflow occurs when an arithmetic operation on integers attempts to create a numeric value that is outside of the range that can be represented with a given number of digits – either higher than the maximum or lower than the minimum representable value. The most common result of an overflow is that the least significant representable digits of the result are stored; the result is said to ''wrap'' around the maximum (i.e. modulo a power of the radix, usually two in modern computers, but sometimes ten or other number). On some processors like graphics processing units (GPUs) and digital signal processors (DSPs) which support saturation arithmetic, overflowed results would be ''clamped'', i.e. set to the minimum value in the representable range if the result is below the minimum and set to the maximum value in the representable range if the result is above the maximum, rather than wrapped around. An overflow condition may give results lead ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Fuzzer
In 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, such as in a file format or protocol and distinguishes valid from invalid input. An effective fuzzer generates semi-valid inputs that are "valid enough" in that they are not directly rejected by the parser, but do create unexpected behaviors deeper in the program and are "invalid enough" to expose corner cases that have not been properly dealt with. For the purpose of security, input that crosses a trust boundary is often the most useful. For example, it is more important to fuzz code that handles a file uploaded by any user than it is to fuzz the code tha ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Frama-C
Frama-C is a set of interoperable program analyzers for C programs. The name ''Frama-C'' stands for ''Framework for Modular Analysis of C programs''. Frama-C has been developed by the French Commissariat à l'Énergie Atomique et aux Énergies Alternatives ( CEA-List) and Inria. It has also received funding from the Core Infrastructure Initiative. Frama-C, as a static analyzer, inspects programs without executing them. Despite its name, the software is not related to the French project Framasoft. Architecture Frama-C has a modular plugin architecture comparable to that of Eclipse (software) or GIMP. Frama-C relies on CIL ( C Intermediate Language) to generate an abstract syntax tree. The abstract syntax tree supports annotations written in ANSI/ISO C Specification Language (ACSL). Several modules can manipulate the abstract syntax tree to add ANSI/ISO C Specification Language (ACSL) annotations. Among frequently used plugins are: * ''Value analysis'' computes ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Living People
Purpose: Because living persons may suffer personal harm from inappropriate information, we should watch their articles carefully. By adding an article to this category, it marks them with a notice about sources whenever someone tries to edit them, to remind them of WP:BLP (biographies of living persons) policy that these articles must maintain a neutral point of view, maintain factual accuracy, and be properly sourced. Recent changes to these articles are listed on Special:RecentChangesLinked/Living people. Organization: This category should not be sub-categorized. Entries are generally sorted by family name In many societies, a surname, family name, or last name is the mostly hereditary portion of one's personal name that indicates one's family. It is typically combined with a given name to form the full name of a person, although several give .... Maintenance: Individuals of advanced age (over 90), for whom there has been no new documentation in the last ten ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
American Computer Scientists
American(s) may refer to: * American, something of, from, or related to the United States of America, commonly known as the "United States" or "America" ** Americans, citizens and nationals of the United States of America ** American ancestry, people who self-identify their ancestry as "American" ** American English, the set of varieties of the English language native to the United States ** Native Americans in the United States, indigenous peoples of the United States * American, something of, from, or related to the Americas, also known as "America" ** Indigenous peoples of the Americas * American (word), for analysis and history of the meanings in various contexts Organizations * American Airlines, U.S.-based airline headquartered in Fort Worth, Texas * American Athletic Conference, an American college athletic conference * American Recordings (record label), a record label that was previously known as Def American * American University, in Washington, D.C. Sports teams S ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
University Of Utah Faculty
A university () is an institution of tertiary education and research which awards academic degrees in several academic disciplines. ''University'' is derived from the Latin phrase , which roughly means "community of teachers and scholars". Universities typically offer both undergraduate and postgraduate programs. The first universities in Europe were established by Catholic monks. The University of Bologna (), Italy, which was founded in 1088, is the first university in the sense of: *being a high degree-awarding institute. *using the word (which was coined at its foundation). *having independence from the ecclesiastic schools and issuing secular as well as non-secular degrees (with teaching conducted by both clergy and non-clergy): grammar, rhetoric, logic, theology, canon law and notarial law.Hunt Janin: "The university in medieval life, 1179–1499", McFarland, 2008, , p. 55f.de Ridder-Symoens, Hilde''A History of the University in Europe: Volume 1, Universities in the M ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |