Design of an Empirical Study for Comparing the Usability of Concurrent Programming Languages

被引:10
|
作者
Nanz, Sebastian [1 ]
Torshizi, Faraz [2 ]
Pedroni, Michela [1 ]
Meyer, Bertrand [1 ]
机构
[1] Swiss Fed Inst Technol, Zurich, Switzerland
[2] Univ Toronto, Toronto, ON, Canada
来源
2011 FIFTH INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2011) | 2011年
基金
加拿大自然科学与工程研究理事会;
关键词
empirical study; concurrency; programming languages; usability;
D O I
10.1109/ESEM.2011.41
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The recent turn towards multicore processing architectures has made concurrency an important part of mainstream software development. As a result, an increasing number of developers have to learn to write concurrent programs, a task that is known to be hard even for the expert. Language designers are therefore working on languages that promise to make concurrent programming "easier". However, the claim that a new language is more usable than another cannot be supported by purely theoretical considerations, but calls for empirical studies. In this paper, we present the design of a study to compare concurrent programming languages with respect to comprehending and debugging existing programs and writing correct new programs. A critical challenge for such a study is avoiding the bias that might be introduced during the training phase and when interpreting participants' solutions. We address these issues by the use of self-study material and an evaluation scheme that exposes any subjective decisions of the corrector, or eliminates them altogether. We apply our design to a comparison of two object-oriented languages for concurrency, multithreaded Java and SCOOP ( Simple Concurrent Object-Oriented Programming), in an academic setting. We obtain results in favor of SCOOP even though the study participants had previous training in writing multithreaded Java programs.
引用
收藏
页码:325 / 334
页数:10
相关论文
共 50 条
  • [1] Design of an empirical study for comparing the usability of concurrent programming languages
    Nanz, Sebastian
    Torshizi, Faraz
    Pedroni, Michela
    Meyer, Bertrand
    INFORMATION AND SOFTWARE TECHNOLOGY, 2013, 55 (07) : 1304 - 1315
  • [2] Study of Organizational Factors Affecting Usability of Online Helps with Programming Languages
    Dhannaseth, Nilesh
    Bhutkar, Ganesh
    TRENDS IN COMPUTER SCIENCE, ENGINEERING AND INFORMATION TECHNOLOGY, 2011, 204 : 628 - 637
  • [3] The ClassiC programming language and design of synchronous concurrent object oriented languages
    Newman, RM
    JOURNAL OF SYSTEMS ARCHITECTURE, 1998, 45 (05) : 387 - 407
  • [4] Programming Languages for the Future of Design Computation
    Aish, Robert
    Al Fisher
    Orchard, Dominic
    Torry, Jay
    PROCEEDINGS OF THE 2024 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON NEW IDEAS, NEW PARADIGMS, AND REFLECTIONS ON PROGRAMMING AND SOFTWARE, ONWARD! 2024, 2024, : 241 - 265
  • [5] Cloud Programming Languages and Infrastructure from Code: An Empirical Study
    Simhandl, Georg
    Zdun, Uwe
    PROCEEDINGS OF THE 17TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING, SLE 2024, 2024, : 143 - 156
  • [6] Use Concurrent Programming Models to Motivate Teaching of Programming Languages
    Leavens, Gary T.
    ACM SIGPLAN NOTICES, 2008, 43 (11) : 93 - 98
  • [7] Quantifying usability of domain-specific languages: An empirical study on software maintenance
    Albuquerque, Diego
    Cafeo, Bruno
    Garcia, Alessandro
    Barbosa, Simone
    Abrahao, Silvia
    Ribeiro, Antonio
    JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 101 : 245 - 259
  • [9] Predicting long time contributors with knowledge units of programming languages: an empirical study
    Md Ahasanuzzaman
    Gustavo A. Oliva
    Ahmed E. Hassan
    Empirical Software Engineering, 2025, 30 (4)
  • [10] A Study of Bug Resolution Characteristics in Popular Programming Languages
    Zhang, Jie M.
    Li, Feng
    Hao, Dan
    Wang, Meng
    Tang, Hao
    Zhang, Lu
    Harman, Mark
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (12) : 2684 - 2697