FACTOID # 171: Want to go to the United States? Try going to Albania first. Albania has more U.S visa lottery winners per capita than anywhere else in the world.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Code review

Code review is peer review of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving overall code quality. Code reviews can often find and remove common security vulnerabilities such as format string attacks, race conditions, and buffer overflows, thereby improving software security. Online software repositories, like anonymous CVS, allow groups of individuals to collaboratively review code to improve software quality and security. Peer review (known as refereeing in some academic fields) is a scholarly process used in the publication of manuscripts and in the awarding of funding for research. ... Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ... Mistake of law and mistake of fact are two types of defense by excuse, via which a defendant may argue that they should not be held criminally liable for breaking the law or liable for damages under a civil law action. ... First off all quality of computer software is conformance to requirements and absence of bugs. ... In computer software a security vulnerability is a software bug that can be used deliberately to violate security. ... Format string attacks are a new class of vulnerabilities discovered in June of 2000 previously thought harmless. ... A race hazard (or race condition) is a flaw in a system or process where the output exhibits unexpected critical dependence on the relative timing of events. ... In computer programming, a buffer overflow is an anomalous condition where a program somehow writes data beyond the allocated end of a buffer in memory. ... The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, implements a version control system: it keeps track of all work and all changes in a set of files, typically the implementation of a software project, and allows several (potentially widely separated) developers to collaborate. ... Quality in computer software is a controversial field. ... Security is being free from danger. ...


Code review is a valuable part of the software development process often called testing. Some argue that code review is less important when certain rules or secure coding methodologies are followed from the software's inception. It has been suggested that Software development life cycle be merged into this article or section. ... The words test and testing have many meanings: Testing or experimentation is part of the scientific method, to verify or falsify an already formed expectation with an observation. ...


The Extreme Programming (XP) approach includes the practice of pair programming, which can be argued to be code review during development. XP proponents argue that other XP practices, such as refactoring and creating tests before even writing the code, produces code that doesn't need to be reviewed or rewritten as often and thus speeds software development. Extreme Programming (XP) is a method or approach to software engineering and the most popular of several agile software development methodologies. ... Pair programming requires two software engineers to participate in a combined development effort at one workstation. ... Refactoring is the process of rewriting written material to improve its readability or structure, with the explicit purpose of keeping its meaning or behavior. ... Software engineering (SE) is the profession concerned with specifying, designing, developing and maintaining software applications by applying technologies and practices from computer science, project management, and other fields. ...


There are many examples of how code review improved a project. They include

  • Blender3d - A 3D graphics design package greatly improved by an open source development community.
  • The Linux Kernel - Once a hobby project written by a Finnish student programmer is now reviewed and improved by hundreds of programmers worldwide.

Automated code reviewing software lessens the task of reviewing large chunks of code on the developer by systematically checking source code for vulnerabilities such as: Screenshot of Blender 2. ... Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ... Tux, a cartoon penguin frequently featured sitting, is the official Linux mascot. ... A developer can be one of: A software developer, one who programs computers or designs the system to match the requirements of a systems analyst. ...

Flawfinder and Rough Auditing Tool for Security (RATS) are two well-known examples of code reviewing software. A race hazard (or race condition) is a flaw in a system or process where the output exhibits unexpected critical dependence on the relative timing of events. ... Format string attacks are a new class of vulnerabilities discovered in June of 2000 previously thought harmless. ... In computer programming, a buffer overflow is an anomalous condition where a program somehow writes data beyond the allocated end of a buffer in memory. ... Memory leaks are often thought of as failures to release unused memory by a computer program. ... Flawfinder is a programming tool that examines C or C++ source code looking for security weaknesses. ...


See also

Introspection is the direct observation or rumination of ones own heart, mind and/or soul and its processes, as opposed to extrospection, the observation of things external to ones self. ... A memory debugger is a programming tool for finding memory leaks and buffer overflows. ... Profiler has multiple meanings. ... Inspection in software engineering, refers to peer review of any work product by trained individuals who look for defects using a well defined process. ... Static code analysis is a set of methods for analysing software source code or object code in an effort to gain understanding of what the software does and establish certain correctness criteria. ...

External links


  Results from FactBites:
 
Source Code Review Guidelines (3842 words)
At reviews beyond the first, copies of the diffs and the minutes of all previous meetings should be available, along with a full copy of the current code.
Code on the firewall should attempt not to dump core if it might have sensitive data in memory that could be retrieved.
The GNU Coding standards are a set of coding standards that produce some of the consistently best code that is freely available.
Code Inspection / Review - QA Forums (993 words)
A good code review checklist should be present in the meeting and should be followed so that a variety of problems are kept in mind and looked for.
Granted, part of the review is looking for the adherence to coding standards but one has to realize these are, by nature, critical meetings ("critical" in the sense of criticism) and thus some people skills come into play here in terms of focusing on the issue and not the person.
Reviewers cannot just review a piece of code, they need to know at least what the design is and how it fits into the rest of the system.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.