Understanding the Impact of Collection Contracts on Design

被引:0
|
作者
Nelson, Stephen [1 ]
Pearce, David J. [1 ]
Noble, James [1 ]
机构
[1] Victoria Univ Wellington, Wellington, New Zealand
来源
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Java provides a specification for a user-defined general purpose equivalence operator for objects, but collections such as Set have more stringent requirements. This inconsistency breaks polymorphism: programmers must take care to follow Set's contract rather than the more general Object contract if their object could enter a Set. We have dynamically profiled 30 Java applications to better understand the way programmers design their objects, to determine whether they program with collections in mind. Our results indicate that objects which enter collections behave very differently to objects which do not. Our findings should help developers understand the impact of design choices they make, and guide future language designers when adding support for collections and/or equality.
引用
收藏
页码:61 / 78
页数:18
相关论文
共 50 条
  • [41] Design and valuation of debt contracts
    Anderson, RW
    Sundaresan, S
    REVIEW OF FINANCIAL STUDIES, 1996, 9 (01): : 37 - 68
  • [42] Responsibility for design under contracts
    Jerram, Derek
    Plant Engineer (London), 1996, 40 (02):
  • [43] Mediated contracts and mechanism design
    Strausz, Roland
    JOURNAL OF ECONOMIC THEORY, 2012, 147 (03) : 1280 - 1290
  • [44] Impact of time coverage of traffic data collection on Pavement ME Design
    Li J.Q.
    Wang K.C.P.
    Lou J.
    International Journal of Pavement Research and Technology, 2016, 9 (01) : 1 - 13
  • [45] The Impact of Domain Knowledge on Structured Data Collection and Templated Note Design
    Windle, T.
    McClay, J. C.
    Windle, J. R.
    APPLIED CLINICAL INFORMATICS, 2013, 4 (03): : 317 - 330
  • [46] Towards Understanding Code Readability and Its Impact on Design Quality
    Mannan, Umme Ayda
    Ahmed, Iftekhar
    Sarma, Anita
    PROCEEDINGS OF THE 4TH ACM SIGSOFT INTERNATIONAL WORKSHOP ON NLP FOR SOFTWARE ENGINEERING (NL4SE '18), 2018, : 18 - 21
  • [47] Understanding the Impact of Design Choices on the Performance of Predictive Process Monitoring
    Kim, Sungkyu
    Comuzzi, Marco
    Di Francescomarino, Chiara
    PROCESS MINING WORKSHOPS, ICPM 2023, 2024, 503 : 153 - 164
  • [48] A Handbook from the Eduba'a: An Old Babylonian Collection of Model Contracts
    Spada, Gabriella
    ZEITSCHRIFT FUR ASSYRIOLOGIE UND VORDERASIATISCHE ARCHAOLOGIE, 2011, 101 (02): : 204 - 245
  • [49] 3 OLD TIBETAN CONTRACTS IN THE SVEN-HEDIN-COLLECTION
    TAKEUCHI, T
    BULLETIN OF THE SCHOOL OF ORIENTAL AND AFRICAN STUDIES-UNIVERSITY OF LONDON, 1994, 57 : 576 - 587
  • [50] Trustworthy IoT: An Evidence Collection Approach based on Smart Contracts
    Ardagna, Claudio A.
    Asal, Rasool
    Damiani, Ernesto
    El Joini, Nabil
    Pahl, Claus
    2019 IEEE INTERNATIONAL CONFERENCE ON SERVICES COMPUTING (IEEE SCC 2019), 2019, : 46 - 50