The ACM Computing Classification System (CCS) is the standard subject classification scheme for the field of computing, developed and maintained by the Association for Computing Machinery. Its concepts are assigned to virtually every paper published in ACM venues, making it the dominant taxonomy for organizing computing research literature. The current 2012 revision fundamentally restructured the system from a tree-based hierarchy into a poly-hierarchical ontology.
Background
The ACM first developed a classification scheme for its Computing Reviews journal in 1964. The system has since undergone seven revisions -- in 1964, 1982, 1983, 1987, 1991, 1998, and the current 2012 version. Wikipedia notes that the system is comparable to the Mathematics Subject Classification (MSC) in scope, aims, and structure.
The 1998 version organized concepts in a strict single-inheritance tree structure with eleven top-level categories labeled A through K. By the late 2000s, the tree-based approach had become limiting, as many computing topics legitimately belonged to multiple parent categories. The 2012 revision, developed through extensive community consultation, replaced the tree with a poly-hierarchical structure that allows concepts to have multiple parent nodes, better reflecting the interdisciplinary nature of modern computing.
Purpose & Scope
The CCS serves several functions:
- Classifying papers submitted to ACM conferences and journals
- Organizing content in the ACM Digital Library
- Providing standardized subject access across computing literature
- Enabling bibliometric analysis of computing research
Authors submitting to ACM publications are required to select CCS concepts for their papers. The system is also used by other publishers and indexing services, and the ACM Computing Research Repository (CoRR) uses a related but coarser classification scheme.
Structure
The 2012 CCS is hierarchically structured in four levels. The top-level categories include:
| Category | Scope |
|---|---|
| General and reference | Cross-cutting topics |
| Hardware | Physical computing components |
| Computer systems organization | Architecture and distributed systems |
| Networks | Communication networks |
| Software and its engineering | Software development lifecycle |
| Theory of computation | Formal methods and algorithms |
| Mathematics of computing | Mathematical foundations |
| Information systems | Data management and retrieval |
| Security and privacy | Security topics |
| Human-centered computing | HCI, visualization, accessibility |
| Computing methodologies | AI, ML, simulation |
| Applied computing | Domain-specific applications |
| Social and professional topics | Ethics, education, policy |
For example, one branch of the hierarchy contains: Computing methodologies > Artificial intelligence > Knowledge representation and reasoning > Ontology engineering. The poly-hierarchical structure means a concept can appear under multiple parent categories without forcing an artificial placement decision.
Technical Integration
ACM provides a tool for generating CCS classification codes in a format suitable for embedding in LaTeX and XML documents. Papers in the ACM Digital Library display their CCS concepts, enabling faceted browsing and filtering by subject area. The ACM/IEEE/AAAI Computer Science Curriculum Guidance 2023 describes a related body of knowledge divided into 17 knowledge areas.
Governance & Maintenance
The CCS is maintained by the ACM. Major revisions involve community consultation, including input from ACM Special Interest Groups and the broader computing research community. Minor updates and corrections are applied as needed. The current 2012 version has been the active revision for over a decade.
Historical versions are preserved on the ACM Digital Library site, including the 1964 and 1991 versions (available via Wayback Machine) and the 1998 version.
Notable Implementations
The CCS is used across the ACM Digital Library, one of the largest collections of computing literature. It is also referenced by arXiv (allowing submitted papers to be classified using the ACM CCS), DBLP, and various institutional repositories for subject classification of computing theses and dissertations.
Related Standards
- Mathematics Subject Classification (MSC) -- comparable classification system for mathematics
- Physics and Astronomy Classification Scheme (PACS) -- equivalent system in physics
- Physics Subject Headings (PhySH) -- another physics classification
- Computer Science Ontology -- a more granular, automatically generated ontology of CS topics