DocumentCode
2383126
Title
Statically checkable design level traits
Author
Gil, Joseph ; Eckel, Yacov
Author_Institution
IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA
fYear
1998
fDate
13-16 Oct 1998
Firstpage
217
Lastpage
220
Abstract
The paper is concerned with those properties of software that can be statically surmised from the source code. Many such properties have been extensively studied from the perspective of compiler construction technology. However, live variable analysis, alias analysis and the such are too low level to be of interest to the software engineer. The authors identify a family of statically checkable properties that should represent a higher level abstraction, and reach the detailed design level. Properties in this family which is defined by five precise distinguishing criteria are called traits. Some examples of traits include mutability, const correctness, ownership, and pure functions. In fact, in many ways, traits are non-standard types. They argue that traits should bring about similar benefits to these of static typing in terms of clarity, understandability, adherence to design decisions, and robustness. They further argue that traits can be used for better checking of substitutability in inheritance relationships. Having made the case for traits, they proceed to describing a taxonomy for classifying and understanding traits and show how it can be used to better understand previous work on this topic. The paper also discusses the abstract computational complexity of traits and compares previous research from that perspective
Keywords
computational complexity; inheritance; software engineering; system monitoring; abstract computational complexity; alias analysis; clarity; compiler construction technology; const correctness; design decisions; detailed design level; higher level abstraction; inheritance relationship; live variable analysis; mutability; ownership; pure function; robustness; software properties; source code; statically checkable design level traits; substitutability; traits; understandability; Cities and towns; Collaborative software; Computer languages; Computer science; Gas insulated transmission lines; Laboratories; Milling machines; Rivers; Software systems; Taxonomy;
fLanguage
English
Publisher
ieee
Conference_Titel
Automated Software Engineering, 1998. Proceedings. 13th IEEE International Conference on
Conference_Location
Honolulu, HI
Print_ISBN
0-8186-8750-9
Type
conf
DOI
10.1109/ASE.1998.732651
Filename
732651
Link To Document