The ACM Computing Classification System, version 2012, has a revolutionary change in some areas, for example, in "Software" that now is called "Software and its engineering" which has three main subjects:
Software organization and properties. This subject addresses properties of the software itself.
Software notations and tools. This subject covers programming languages and other tools for writing programs.
Software creation and management. This subject covers human activities including software management.
It is hierarchically structured in four levels. Thus, for example, one branch of the hierarchy contains:
The 2012 version of the ACM classification has the following main categories.
General and reference
Document types • Cross-computing tools and techniques
Printed circuit boards • Communication hardware, interfaces and storage • Integrated circuits • Very large scale integration design • Power and energy • Electronic design automation • Hardware validation • Hardware test • Robustness • Emerging technologies
Computer systems organization
Architectures • Embedded and cyber-physical systems • Real-time systems • Dependable and fault-tolerant systems and networks
Software organization and properties • Software notations and tools • Software creation and management
Theory of computation
Models of computation • Formal languages and automata theory • Computational complexity and cryptography • Logic • Design and analysis of algorithms • Randomness, geometry and discrete structures • Theory and algorithms for application domains • Semantics and reasoning
Mathematics of computing
Discrete mathematics • Probability and statistics • Mathematical software • Information theory • Mathematical analysis • Continuous mathematics
Data management systems • Information storage systems • Information systems applications • World Wide Web • Information retrieval
Security and privacy
Cryptography • Formal methods and theory of security • Security services • Intrusion/anomaly detection and malware mitigation • Security in hardware • Systems security • Network security • Database and storage security • Software and application security • Human and societal aspects of security and privacy
Human–computer interaction • Interaction design • Collaborative and social computing • Ubiquitous and mobile computing • Visualization • Accessibility
Electronic commerce • Enterprise computing • Physical sciences and engineering • Life and medical sciences • Law, social and behavioral sciences • Computer forensics • Arts and humanities • Computers in other domains • Operations research • Education • Document management and text processing
Social and professional topics
Professional topics • Computing/technology policy • User characteristics
Proper nouns: people, technologies and companies
Companies • Organizations • People in computing • Technologies
The ACM Computing Research Repository uses a classification scheme that is much coarser than the ACM subject classification, and does not cover all areas of CS, but is intended to better cover active areas of research. In addition, papers in this repository are classified according to the ACM subject classification.