Skip to main content

Taxonomy of Program Features

  • Chapter
  • First Online:
Software Similarity and Classification

Part of the book series: SpringerBriefs in Computer Science ((BRIEFSCOMPUTER))

  • 1003 Accesses

Abstract

All programs have common features and abstractions which are used to create birthmarks. Features can be divided into syntactic and semantic groups. Syntactic features concern themselves with program structure and program form. Semantic features examine the meaning of the program. In this chapter we examine those syntactic and semantic features of programs. Syntactic Features include: (1) Raw Code, (2) Abstract Syntax Trees, (3) Variables, (4) Pointers, (5) Instructions, (6) Basic Blocks, (7) Procedures, (8) Control Flow Graphs, (9) Call Graphs, and (10) Object Inheritances and Dependencies. Semantic features include: (1) API Calls, (2) Data Flow, (3) Procedure Dependence Graphs, and (4) System Dependence Graphs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Aho AV, Sethi R, Ullman JD (1986) Compilers: principles, techniques, and tools. Addison-Wesley, Reading MA

    Google Scholar 

  2. Ferrante J, Ottenstein KJ, Warren JD (1987) The program dependence graph and its use in optimization. ACM Trans Program Lang Syst (TOPLAS) 9(3):319–349

    Article  MATH  Google Scholar 

  3. Levine JR (2000) Linkers and loaders. Morgan Kaufmann Pub, Massachusetts

    Google Scholar 

  4. Pietrek M (2002) Inside windows-an in-depth look into the Win32 portable executable file format. MSDN magazine, pp 80–92

    Google Scholar 

  5. Standard TI (1995) Executable and linking format (ELF) specification version 1.2. In: TIS committee, May

    Google Scholar 

  6. Lindholm T, Yellin F (1999) Java virtual machine specification. Addison-Wesley Longman Publishing Co., Inc., Boston

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2012 The Author(s)

About this chapter

Cite this chapter

Cesare, S., Xiang, Y. (2012). Taxonomy of Program Features. In: Software Similarity and Classification. SpringerBriefs in Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-2909-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2909-7_2

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-2908-0

  • Online ISBN: 978-1-4471-2909-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics