Software developed for distribution or use.

Identified state or release of software.

Dependency referenced by source code.

Bundling data and operations behind an interface.

Organized effort to create or modify software.

Security weakness in software.

Examination of source code properties.

Hiding unnecessary implementation details.

Preliminary implementation used for evaluation.

Layer that adapts one interface to another.