Characteristics of software