Evaluating the productivity of a reference-based programming approach: A controlled experiment

被引:1
作者
Sturm, Arnon [1 ]
Kramer, Oded [1 ]
机构
[1] Ben Gurion Univ Negev, Dept Informat Syst Engn, IL-84105 Beer Sheva, Israel
关键词
Productivity; Programming; Software reusability; Software quality; Domain engineering; SOFTWARE-DEVELOPMENT; PERFORMANCE; QUALITY;
D O I
10.1016/j.infsof.2014.05.003
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Domain engineering aims at facilitating software development in an efficient and economical way. One way to measure that is through productivity indicators, which refer to the ability of creating a quality software product in a limited period and with limited resources. Many approaches have been devised to increase productivity; however, these approaches seem to suffer from a tension between expressiveness on the one hand, and applicability (or the lack of it) in providing guidance for developers. Objective: This paper evaluates the applicability and efficiency of adopting a domain engineering approach, called Application-based DOmain Modeling (ADOM), in the context of the programming task with Java, and thus termed ADOM-Java, for improving productivity in terms of code quality and development time. Method: To achieve that objective we have qualitatively evaluate the approach using questionnaires and following a text analysis procedure. We also set a controlled experiment in which 50 undergraduate students performed a Java-based programming task using either ADOM-Java or Java alone. Results: The qualitative evaluation reveal that the approach is easy to uses and provides valuable guidance. Nevertheless, it requires training. The outcomes of the experiment indicate that the approach is applicable and that the students that used ADOM-Java achieved better code quality, as well as better functionality and within less time than the students who used only Java. Conclusion: The results of the experiments imply that by providing a code base equipped with reuse guidelines for programmers can increase programming productivity in terms of quality and development time. These guidelines may also enforce coding standards and architectural design. (C) 2014 Elsevier B.V. All rights reserved.
引用
收藏
页码:1390 / 1402
页数:13
相关论文
共 57 条
  • [1] Ali Z, 2011, PROC FRONT EDUC CONF
  • [2] [Anonymous], 2000, Generative Programming: Methods, Tools, and Applications
  • [3] Scaling step-wise refinement
    Batory, D
    Sarvela, JN
    Rauschmayer, A
    [J]. 25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 187 - 197
  • [4] Learning from experience in software development: A multilevel analysis
    Boh, Wai Fong
    Slaughter, Sandra A.
    Espinosa, J. Alberto
    [J]. MANAGEMENT SCIENCE, 2007, 53 (08) : 1315 - 1331
  • [5] Cataldo M., 2010, CMUISR10104
  • [6] Cazzola W., 2013, JAVA JAVA ANNOTATION
  • [7] Czarnecki K, 2005, LECT NOTES COMPUT SC, V3676, P422
  • [8] CZARNECKI K, 2004, P EUR COMM US NAT SC
  • [9] Exton C., 2004, P 12 INT WORKSH SOFT, P40
  • [10] Fayad E.M., 1999, IMPLEMENTING APPL FR