Orthogonal Defect Classification

Orthogonal Defect Classification (ODC) turns semantic information in the software defect stream into a measurement on the process. The ideas were developed in the late '80s and early '90s by Ram Chillarege at IBM Research. This has led to the development of new analytical methods used for software development and test process analysis. ODC is process model, language and domain independent. Applications of ODC have been reported by several corporations on a variety of platforms and development processes, ranging from waterfall, spiral, gated, and agile development processes. One of the popular applications of ODC is software root cause analysis.

Software standard

softwarestandardizeStandards (software)
A software standard is a standard, protocol, or other common format of a document, file, or data transfer accepted and used by one or more software developers while working on one or more than one computer programs. Software standards enable interoperability between different programs created by different developers.


accessiblelow-floorwheelchair accessible
Accessibility in the sense considered here refers to the design of products, devices, services, or environments so as to be usable by people with disabilities. The concept of accessible design and practice of accessible development ensures both "direct access" (i.e. unassisted) and "indirect access" meaning compatibility with a person's assistive technology (for example, computer screen readers).


mission capable rateavailablemission capable
In high availability applications, a metric known as nines, corresponding to the number of nines following the decimal point, is used. With this convention, "five nines" equals 0.99999 (or 99.999%) availability. Availability of a system is typically measured as a factor of its reliability – as reliability increases, so does availability. Availability of a system may also be increased by the strategy of focusing on increasing testability, diagnostics and maintainability and not on reliability. Improving maintainability during the early design phase is generally easier than reliability (and Testability & diagnostics).

Software crisis

state of crisis
Various processes and methodologies have been developed over the last few decades to improve software quality management such as procedural programming and object-oriented programming. However software projects that are large, complicated, poorly specified, and involve unfamiliar aspects, are still vulnerable to large, unanticipated problems. Projects running over-budget. Projects running over-time. Software was very inefficient. Software was of low quality. Software often did not meet requirements. Projects were unmanageable and code difficult to maintain. Software was never delivered. AI winter. List of failed and overbudget custom software projects. Fred Brooks. System accident.


dependabledispatch reliabilityDependable Systems
The field of dependability has evolved from these beginnings to be an internationally active field of research fostered by a number of prominent international conferences, notably the International Conference on Dependable Systems and Networks, the International Symposium on Reliable Distributed Systems and the International Symposium on Software Reliability Engineering. Traditionally, dependability for a system incorporates availability, reliability, maintainability but since the 1980s, safety and security have been added to measures of dependability. Attributes are qualities of a system.

Security engineering

Information Systems Security EngineeringSecuritycybersecurity engineer
Security engineering is a specialized field of engineering that focuses on the security aspects in the design of systems that need to be able to deal robustly with possible sources of disruption, ranging from natural disasters to malicious acts. It is similar to other systems engineering activities in that its primary motivation is to support the delivery of engineering solutions that satisfy pre-defined functional and user requirements, but it has the added dimension of preventing misuse and malicious behavior. Those constraints and restrictions are often asserted as a security policy.

Best coding practices

best practice for software developmentbest practicescomputer programming
Motor Industry Software Reliability Association (MISRA). Software Assurance. Software quality. General. Enhancing the Development Life Cycle to Product Secure Software, V2.0 Oct. 2008 describes the security principles and practices that software developers, testers, and integrators can adopt to achieve the twin objectives of producing more secure software-intensive systems, and verifying the security of the software they produce.

Software package metrics

AfferentAfferent couplings
The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. Instability (I): The ratio of efferent coupling (Ce) to total coupling (Ce + Ca) such that I = Ce / (Ce + Ca). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely unstable package. Distance from the main sequence (D): The perpendicular distance of a package from the idealized line A + I = 1. D is calculated as D = | A + I - 1 |. This metric is an indicator of the package's balance between abstractness and stability.


RTTS (Real-Time Technology Solutions, Inc.)
RTTS (Real-Time Technology Solutions, Inc.) is a professional services organization that provides software quality outsourcing, training, and resources for business applications. With offices in New York City, Philadelphia, Atlanta, and Phoenix, RTTS serves mid-sized to large corporations throughout North America. RTTS uses the software quality and test solutions from IBM, Hewlett-Packard Enterprise, Microsoft and other vendors and open source tools to perform software performance testing, functional test automation, big data testing, data warehouse/ETL testing, mobile application testing, security testing and service virtualization. Real-Time Technology Solutions, Inc.

CAST (company)

CAST markets software quality and size (automated function points counting) measurement technology and expertise, and offers software, hosting and consulting services in support software analysis and measurement. The company was founded in 1990 in Paris, France, by Vincent Delaroche. CAST code quality metrics are frequently used in application development service-level agreements. CAST research and experts are often consulted on issues having to do with development quality and security by medias such as Los Angeles Times, BBC, CNBC, The Wall Street Journal, and The Economist. CAST was founded in 1990 in Paris by Vincent Delaroche.


code quality testing platform
SonarQube (formerly Sonar) is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities on 20+ programming languages. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments, bugs, and security vulnerabilities. SonarQube can record metrics history and provides evolution graphs. SonarQube provides fully automated analysis and integration with Maven, Ant, Gradle, MSBuild and continuous integration tools (Atlassian Bamboo, Jenkins, Hudson, etc.).

Carrier IQ

Konstantin Othmer
Data available can include metrics on the device itself (e.g., firmware, battery levels, application performance, web performance) and performance data on voice and data connectivity between the device and radio towers. The mobile device manufacturers or network operators determine which of these metrics are actually collected, according to a set of criteria known as a "profile." The IQ Agent software runs in the background, and the user is not usually aware of its presence unless the implementation includes an on-off switch.

In-flight entertainment

in-flight movieIFEinflight entertainment
Design issues for IFE include system safety, cost efficiency, software reliability, hardware maintenance, and user compatibility. The in-flight entertainment onboard airlines is frequently managed by content service providers. The first in-flight movie was in 1921 on Aeromarine Airways, showing a film called Howdy Chicago to its passengers as the amphibious airplane flew around Chicago. The film The Lost World was shown to passengers of an Imperial Airways flight in April 1925 between London (Croydon Airport) and Paris. Eleven years later, in 1932, the first in-flight television called 'media event' was shown on a Western Air Express Fokker F.10 aircraft.


DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality. Academics and practitioners have not developed a unique definition for the term "DevOps." From an academic perspective, Len Bass, Ingo Weber, and Liming Zhu — three computer science researchers from the CSIRO and the Software Engineering Institute — suggested defining DevOps as "a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality".


PuffyOpenCVSPuffy (mascot)
Because of the project's emphasis on code quality, many components are reused in other software projects. Android uses its C standard library, LLVM uses its regular expression library, and Windows 10 uses OpenSSH with LibreSSL. The name OpenBSD refers to the availability of the source code on the Internet. It also refers to the wide range of hardware platforms the system supports. In December 1994, Theo de Raadt was forced to resign from the NetBSD core team, and his access to the source repository was revoked. Fellow team members claimed it was due to personality clashes on the mailing lists. In October 1995, De Raadt founded OpenBSD, a new project forked from NetBSD 1.0.

Watts Humphrey

Watts S. Humphrey
The Watts Humphrey Software Quality Institute in Chennai, India was named after him in 2000. In 2003, Humphrey was awarded the National Medal of Technology. Humphrey became a fellow of the SEI and of the Association for Computing Machinery in 2008. Humphrey is the author of several books, including Personal software process (PSP). Software quality. Team software process (TSP). 2011. Leadership, Teamwork, and Trust: Building a Competitive Software Capability. Addison-Wesley, Reading, MA. 2010. Reflections on Management: How to Manage Your Software Projects, Your Teams, Your Boss, and Yourself. Addison-Wesley, Reading, MA. 2006. TSP, Coaching Development Teams.

Weissman score

The Weissman score is an efficiency metric for lossless compression applications, which was developed for fictional use. It compares both required time and compression ratio of measured applications, with those of a de facto standard according to the data type. It was developed by Tsachy Weissman, a professor at Stanford University, and Vinith Misra, a graduate student, at the request of producers for HBO's television series Silicon Valley, about a fictional tech start-up. The formula is the following; where r is the compression ratio, T is the time required to compress, the overlined ones are the same metrics for a standard compressor, and alpha is a scaling constant.

Parasoft DTP

Development Testing PlatformDTP
Parasoft DTP (formerly Parasoft Concerto) is a development testing solution from Parasoft that acts as a centralized hub for managing software quality and application security. DTP provides a wide range of traditional software reports from normal software development activities such as coding and testing, and also is able to aggregate data from across all software testing practices (i.e. static code analysis, unit testing, and API testing) to present a comprehensive view of the state of the codebase. DTP provides software testing analytics via an internal intelligence engine.

Software testing tactics

Code coverage as a software metric can be reported as a percentage for: 100% statement coverage ensures that all code paths or branches (in terms of control flow) are executed at least once. This is helpful in ensuring correct functionality, but not sufficient since the same code may process different inputs correctly or incorrectly. Black-box testing treats the software as a "black box", examining functionality without any knowledge of internal implementation, without seeing the source code. The testers are only aware of what the software is supposed to do, not how it does it.

Worse is better

New Jersey style
Worse is better, also called New Jersey style, was conceived by Richard P. Gabriel in an essay "Worse is better" to describe the dynamics of software acceptance, but it has broader application. It is the subjective idea that quality does not necessarily increase with functionality—that there is a point where less functionality ("worse") is a preferable option ("better") in terms of practicality and usability. Software that is limited, but simple to use, may be more appealing to the user and market than the reverse.

Load (computing)

loadsystem loadload times
All Unix and Unix-like systems generate a dimensionless metric of three "load average" numbers in the kernel. Users can easily query the current result from a Unix shell by running the uptime command: The w and top commands show the same three load average numbers, as do a range of graphical user interface utilities. In Linux, they can also be accessed by reading the file. An idle computer has a load number of 0 (the idle process isn't counted). Each process using or waiting for CPU (the ready queue or run queue) increments the load number by 1. Each process that terminates decrements it by 1.

International School of Software, Wuhan University

The school is involved in research and application development in software engineering, spatial information systems and digital engineering, multi-media digital technology, digital art design, visualization technology, information security, software reliability, quality assurance software systems, software development tools and environment, biological information engineering, financial information systems, software development, and IC design. Undergraduate Majors: Software Engineering, Spatial Information & Digital Techniques.

Tom Gilb

Competitive Engineering
Software Metrics (Winthrop computer systems series), 1977. Competitive Engineering: A Handbook for Systems & Software Engineering Management using Planguage, 2005. ISBN: 0-7506-6507-6. (Planguage is a formal, natural language modelling notation invented by Gilb that adds rigour to the requirement documentation.). Gilb's website. Tom Gilb speaking at TedX in Trondheim 2013 about his engineering approach to defining all qualities in systems.