How to Use the 1998 Computing Classification System



An important aspect of preparing your paper for publication by ACM Press is to provide the proper indexing and retrieval information from the ACM 1998 Computing Classification System (CCS). This is beneficial to you because accurate categorization provides the reader with quick content reference, facilitating the search for related literature, as well as searches for your work in ACM’s Digital Library and on other online resources. It also ensures correct placement when a review appears in Computing Reviews.

We need to have you prepare the categories and general terms for your paper because you are the expert on the contents of your paper. We provide the following description and guidance, based on the CCS.

The CCS involves a four-level tree that has three coded levels and an uncoded level of subject descriptors (usually appearing at the fourth level). This tree comprises the categories and subject descriptors.




H.2.3 Languages

Subject descriptor: Query languages


In addition, there is a set of 16 separate concepts called "General Terms" that apply to all areas. Languages, Theory, and Human Factors are examples of these terms. They appear on page 12 of the Classification Brochure, or see ACM Computing Classification System (CCS) for more information. We suggest the following steps be used in preparing your classifications:


  1. Look at the top two levels in the classification tree and make a note of any of the second-level nodes that seem to be relevant.


  2. Using the first- and second-level nodes of the classification scheme already identified, look at the third-level nodes (if applicable; nodes A, E, G, and J have areas that do not go below the second level) and the subject descriptors under them. Identify any descriptors that seem to apply to your particular paper. For example, for the paper "An efficient method for checking object-oriented database schema correctness," by A. Formica et al., appearing in the September 1998 issue of ACM Transactions on Database Systems, the categories would include (you must list the most relevant, or primary, category first): H.2.4 Systems---Object-oriented databases, D.3.3 Language Constructs and Features---Data types and structures, and H.2.1 Logical Design---Schema and subschema. Use the lowest numbered node in the tree available and use descriptors when applicable (as they normally will be). Use as many descriptors under a single numbered node as are appropriate for the paper. Be sure to use all the different categories and nodes that apply to your paper. Use the numbered node without any descriptors if: (1) none of the descriptors apply or (2) if essentially all of them apply. For example, use H.4.1 Office Automation if the paper deals with the general concepts of office automation.


  3. In addition to the existing descriptors, you may add implicit subject descriptors, which are proper names (the names of languages, systems, and so forth). The implicit subject descriptors are associated with a numbered node and should be used whenever they are significant. Do not use an implicit subject descriptor just because the proper name is mentioned in your paper. For example, a paper all about FORTRAN would show up under D.3.2 Language Classifications with an implicit subject descriptor of FORTRAN. You should use this implicit subject descriptor only if FORTRAN is crucial to the content of the paper.


  4. Use a "General" node (at any level) only if the article covers most of the concepts in an area. This would usually apply only to broad survey papers, for example: "Performance and dependability evaluation of scalable massively parallel computer systems with conjoint simulation," by A. Hein and M. Dal Cin, appearing in the October 1998 issue of ACM Transactions on Modeling and Computer Simulation: B.8.0 General, C.4 Performance of Systems, I.6.0 General, and I.6.5 Model Development.


  5. If a paper cannot be classified under any other node, then use the "Miscellaneous" node in the given area.


  6. Beware of a common pitfall---namely, the use of an inappropriate section of the tree. For example, do not use the descriptor "Microprocessors and microcomputers" under B.7.1 HARDWARE---INTEGRATED CIRCUITS---Types and Design Styles, unless you are really dealing with circuits. If the paper discusses a microprocessor or microcomputer in a general fashion, then the proper node would be C.5.3 COMPUTER SYSTEMS ORGANIZATION---COMPUTER SYSTEM IMPLEMENTATION---Microcomputers (with the "Microprocessors" descriptor if the paper is specifically about microprocessors). Similarly, do not use the descriptor "Law" under I.2.1 ARTIFICIAL INTELLIGENCE---Applications and Expert Systems if the paper involves patents or legal aspects of computing without any AI connotation. In that case, you would use a node under K.5 LEGAL ASPECTS OF COMPUTING.


  1. When using terms from the CCS, be aware that there are retired terms coexisting along with active ones. Retired terms are indicated by an asterisk (*) or double asterisk (**) and are no longer used to classify material, although older works that were previously classified under them are still searchable using those terms. Therefore, avoid classifying your material under any term marked with a single or double asterisk. Some retired nodes include pointers in parentheses to the new terms replacing them: B.3.4 Reliability, Testing, and Fault Tolerance** (B.8).


  2. After you have made the decision about all applicable nodes, prepare this material in the following format:

    Categories and subject descriptors: Third-level node number [Second-level node title]:


    Third-level node title---first subject descriptor, second subject descriptor, etc.;

    Third-level node number…

    As an example, follow the form of the two cases below, where the first involves an implicit subject descriptor and the second involves several nodes:

    Categories and subject descriptors: H.2.3 [Database Management]: Languages---SQL

    Categories and subject descriptors: D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement---portability; H.2.3 [Database Management]: Languages---query languages; H.4.2 [Information Systems Applications]: Types of Systems---decision support; K.6.3 [Management of Computing and Information Systems]: Software Management---software selection

  3. Now look at the list of 16 general terms and decide which, if any, are applicable. These selections are independent of the nodes of the tree you have used. For example, for the paper in Step 4, you would write General Terms: Design, Performance, Reliability.


  4. Finally, prepare a list of additional key words and phrases. These are primarily words or phrases that are not covered by the existing scheme. This situation is likely to occur at greater levels of detail than can exist in a four-level tree. You may also wish to add words or phrases that are synonymous with those already in the scheme but which you prefer. Be sure the key words and phrases will make sense if they appear separately. For example, the word "breadth" might make sense in the context of a specific paper but is unlikely to be meaningful in a separate alphabetized list of words. Also, an adjective should not be used without a noun. The question to ask is, "Would someone look for this key word or phrase in an index?" Do not repeat words or phrases from any level of the Classification System in your list. For example, for the paper in Step 2, the authors chose as Additional Key Words and Phrases: databases, graph theory, inheritance conflicts, inheritance process, object-oriented database schemas, and recursive types.


  5. It is strongly recommended that you look through published issues of the journal in which your paper is to appear to see how papers on the same or related topics have been classified.


If you have any questions or problems concerning classification, please direct them to If you are not currently a reviewer for Computing Reviews and wish to become one, please fill out and submit the Reviewer Application Form. On the page that appears, read the introduction under the "Become a Reviewer" heading, then click on the "Reviewer Application Form" link.

Publish with ACM

ACM's prestigious conferences and journals are seeking top-quality papers in all areas of computing and IT. It is now easier than ever to find the most appropriate venue for your research and publish with ACM.

Publish your work

Volunteer with SocialCoder

You can use your technical skills for social good and offer volunteer support on software development projects to organizations who could not otherwise afford it. SocialCoder connects volunteer programmers/software developers with registered charities and helps match them to suitable projects based on their skills, experience, and the causes they care about. Learn more about ACM’s new partnership with SocialCoder, and how you can get involved.

Get Involved with ACM

ACM is a volunteer-led and member-driven organization. Everything ACM accomplishes is through the efforts of people like you. A wide range of activities keep ACM moving, including organizing conferences, editing journals, reviewing papers and participating on boards and committees, to name just a few. Find out all the ways that you can volunteer with ACM.