Recognizing authors: An examination of the consistent programmer hypothesis

Jane Huffman Hayes, Jeff Offutt

Research output: Contribution to journalArticlepeer-review

15 Scopus citations

Abstract

Software developers have individual styles of programming. This paper empirically examines the validity of the consistent programmer hypothesis: that a facet or set of facets exist that can be used to recognize the author of a given program based on programming style. The paper further postulates that the programming style means that different test strategies work better for some programmers (or programming styles) than for others. For example, all-edges adequate tests may detect faults for programs written by Programmer A better than for those written by Programmer B. This has several useful applications: to help detect plagiarism/copyright violation of source code, to help improve the practical application of software testing, and to help pursue specific rogue programmers of malicious code and source code viruses. This paper investigates this concept by experimentally examining whether particular facets of the program can be used to identify programmers and whether testing strategies can be reasonably associated with specific programmers.

Original languageEnglish
Pages (from-to)329-356
Number of pages28
JournalSoftware Testing Verification and Reliability
Volume20
Issue number4
DOIs
StatePublished - Dec 2010

Keywords

  • author identification
  • metrics
  • plagiarism detection
  • software testing
  • source code metrics
  • static analysis
  • testability

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Recognizing authors: An examination of the consistent programmer hypothesis'. Together they form a unique fingerprint.

Cite this