edgepedia

All articles starting with S

44,216 articles

Software inspection

Software inspection is a static testing method in which a team of developers systematically examines code, design, or requirements to find defects before testing, credited to Michael Fagan in 1986.

Software license

A software license is a legal instrument through which a copyright holder grants permission to use, modify, or distribute software that copyright law would otherwise restrict.

Software maintenance

Software maintenance, also known as program or code maintenance, is the modification of software after delivery to correct faults, adapt to changed environments, or improve performance.

Software metric

A software metric is a quantitative measure of a software attribute, such as size, complexity, or maintainability; well-known examples include lines of code and cyclomatic complexity.

Software mining

Software mining, also known as mining software repositories, applies data mining to code, bug trackers, and version histories, producing patterns, models, and predictions for defect prediction and effort estimation.

Software park

A software park is a zone where governments concentrate infrastructure, communications links, and tax benefits to promote software development and export, as in India and China.

Software patent

A software patent is a patent covering an invention implemented at least partly by a computer program, patentable only when it produces a technical effect.

Software patent subject-matter eligibility in Europe

Software patent subject-matter eligibility in Europe is governed by Article 52 of the European Patent Convention, which excludes programs for computers as such, while software producing a technical effect remains patentable.

Software patent thicket

A software patent thicket is a dense web of overlapping patent rights requiring licenses from multiple patentees, a concept given its standard form by economist Carl Shapiro in 2001.

Software pipelining

Software pipelining is a compiler instruction-scheduling technique for loops that overlaps successive iterations, keeping a processor's functional units busy and exploiting instruction-level parallelism.

Software prototyping

Software prototyping is the practice of building an early sample, model, or release of a software product, from paper sketch to minimum viable product, to validate requirements.

Software quality

Software quality is the degree to which software meets specified requirements and satisfies users, defined through quality models such as ISO/IEC 25010:2023, assurance processes, and metrics like defect counts and error budgets.

Software quality assurance

Software quality assurance (SQA) is the process-oriented part of quality management that prevents defects and provides confidence quality requirements will be fulfilled, spanning the whole development process.

Software quality control

Software quality control is the set of activities, such as inspection, review, analysis, and testing, that check whether a software product and its development processes conform to specified requirements.

Software release life cycle

The software release life cycle, also called the release cycle, is the sequence of named stages software passes through from alpha, beta, and release candidate builds to general availability.

Software reliability growth model

A software reliability growth model (SRGM), or software reliability model, is a statistical model describing how remaining faults fall during testing and predicting future failures.

Software repository

A software repository, also known as a package repository, is a location for storing and retrieving packages installable by a package manager, such as npm, PyPI, and Debian's apt repositories.

Software requirements specification

A software requirements specification (SRS) is a document stating in verifiable form what a software product must do, governed by ISO/IEC/IEEE 29148:2018, which replaced IEEE 830-1998.

Software termination for convenience

Termination for convenience in software contracting lets a party, usually the customer, end a license or services agreement early without proving breach, paying agreed exit charges.

Software testing

Software testing is the process of running or statically examining software to find defects and provide evidence that specified requirements are met; it is one part of quality assurance.

Software transactional memory

Software transactional memory (STM) is a concurrency-control technique that lets threads run shared-memory code in transactions, which commit atomically or abort and roll back on conflict, avoiding locks.

Software update

A software update is a modification to code that corrects security or functionality problems in software, and is the primary mechanism for fixing vulnerabilities after software ships.

Software versioning

Software versioning is the practice of assigning unique identifiers to distinct states of a software product so that changes, compatibility, and releases can be tracked, most commonly through semantic version numbers.

Software-defined networking

Software-defined networking (SDN) is an approach to computer networking that separates the control plane from the forwarding plane, letting administrators program network behavior through software via open interfaces such as OpenFlow.

Software-defined perimeter

A software-defined perimeter (SDP) is a network security architecture developed by the Cloud Security Alliance that authenticates users and devices before granting access, keeping applications invisible or "dark."

Software-defined radio

A software-defined radio (SDR), also called a software radio, is a radio communication system in which functions like filtering, modulation, and demodulation run as modifiable software on programmable processors.

Software-defined vehicle

A software-defined vehicle is a vehicle whose functions are defined and updated primarily through software rather than fixed hardware, gaining new features over its life cycle.

Software-in-the-loop simulation

Software-in-the-loop (SIL) simulation is a verification method that runs control software compiled for a host computer against a simulated plant model, checking code behavior before target hardware exists.

SoftWear Automation

SoftWear Automation is an Atlanta-based robotics company launched in 2012 at Georgia Tech with DARPA funding, known for its Sewbot worklines that use machine vision to automate sewing T-shirts.

Softwood

Softwood is wood produced by gymnosperm trees, botanically the cone-bearing conifers with needle- or scale-like evergreen leaves, a name that is a well-known misnomer since some softwoods are harder than some hardwoods.