Abstract
Research in the area of programming languages has different facets -- from formal reasoning about new programming language constructs (such as type soundness proofs for new type systems) over inventions of new abstractions, up to performance measurements of virtual machines. A closer look into the underlying research methods reveals a distressing characteristic of programming language research: developers, which are the main audience for new language constructs, are hardly considered in the research process. As a consequence, it is simply not possible to state whether a new construct that requires some kind of interaction with the developer has any positive impact on the construction of software. This paper argues for appropriate research methods in programming language research that rely on studies of developers -- and argues that the introduction of corresponding empirical methods not only requires a new understanding of research but also a different view on how to teach software science to students.
- }}Bartsch, M., and Harrison, R. An exploratory study of the effect of aspect-oriented programming on maintainability. Software Quality Control 16, 1 (2008), 23--44. Google ScholarDigital Library
- }}Basili, V. R. The role of experimentation in software engineering: past, current, and future. In ICSE ’96: Proceedings of the 18th international conference on Software engineering (Washington, DC, USA, 1996), IEEE Computer Society, pp. 442--449. Google ScholarDigital Library
- }}Basili, V. R., Selby, R. W., and Hutchens, D. H. Experimentation in software engineering. IEEE Trans. Software Eng. 12, 7 (1986), 733--743. Google ScholarDigital Library
- }}Blackburn, S. M., Garner, R., Hoffmann, C., Khang, A. M., McKinley, K. S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S. Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J. E. B., Moss, B., Phansalkar, A., Stefanovi, D., VanDrunen, T., von Dincklage, D., and Wiedermann, B. The DaCapo benchmarks: Java benchmarking development and analysis. In OOPSLA ’06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications (New York, NY, USA, 2006), ACM, pp. 169--190. Google ScholarDigital Library
- }}Boehm, B., Boehm, B., Clark, B., Horowitz, E., Westl, C., Madachy, R., and Selby, R. Cost models for future software life cycle processes:. In Annals of Software Engineering (1995), pp. 57--94.Google ScholarCross Ref
- }}Bortz, J., and Döring, N. Forschungsmethoden und Evaluation: für Human- und Sozialwissenschaftler, 4. ed. Springer, Heidelberg, 2006.Google Scholar
- }}Denning, P. J. Is computer science science? Commun. ACM 48, 4 (2005), 27--31. Google ScholarDigital Library
- }}Dijkstra, E. W. The humble programmer. Commun. ACM 15, 10 (1972), 859--866. Google ScholarDigital Library
- }}Dijkstra, E. W. A Discipline of Programming. Prentice Hall, Inc., October 1976.Google ScholarDigital Library
- }}Easterbrook, S. M., Singer, J., Storey, M., and Damian, D. Selecting empirical methods for software engineering research. In Guide to Advanced Empirical Software Engineering, F. Shull, J. Singer, and D. Sjøberg, Eds. Springer, 2007.Google Scholar
- }}Endres, A., and Rombach, D. A Handbook of Software and Systems Engineering. Pearson Addison-Wesley, 2003.Google Scholar
- }}Fenton, N. E., and Pfleeger, S. L. Software Metrics: A Rigorous and Practical Approach. PWS Publishing Co., Boston, MA, USA, 1998. Google ScholarDigital Library
- }}Filman, R. E., Elrad, T., Clarke, S., and Ak\c sit, M., Eds. Aspect-Oriented Software Development. Addison-Wesley, Boston, 2005. Google ScholarDigital Library
- }}Fitts, P. M. The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology 47, 6 (June 1954), 262--269.Google ScholarCross Ref
- }}Génova, G. Is computer science truly scientific? Commun. ACM 53, 7 (2010), 37--39. Google ScholarDigital Library
- }}Halstead, M. H. Elements of Software Science (Operating and programming systems series). Elsevier Science Inc., New York, NY, USA, 1977.\\ Google ScholarDigital Library
- }}Hick, W. E. On the rate of gain of information. The Quarterly Journal of Experimental Psychology 4, 1 (1952), 11--26.Google ScholarCross Ref
- }}Johnson, R. E. Documenting frameworks using patterns. In OOPSLA ’92: Conference proceedings on Object-oriented programming systems, languages, and applications (New York, NY, USA, 1992), ACM, pp. 63--76. Google ScholarDigital Library
- }}Juristo, N., and Moreno, A. M. Basics of Software Engineering Experimentation. Springer, 2001.Google ScholarDigital Library
- }}Kitchenham, B., Al-Khilidar, H., Babar, M. A., Berry, M., Cox, K., Keung, J., Kurniawati, F., Staples, M., Zhang, H., and Zhu, L. Evaluating guidelines for empirical software engineering studies. In ISESE ’06: Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering (New York, NY, USA, 2006), ACM, pp. 38--47. Google ScholarDigital Library
- }}Madsen, O. L., and Møller-Pedersen, B. What object-oriented programming may be - and what it does not have to be. In Proceedings of European Conference on Object-Oriented Programming (ECOOP’88) (1988), Springer, pp. 1--20. Google ScholarDigital Library
- }}National Research Council. Computer Science: Reflections on the Field, Reflections from the Field. National Academy Press, 2004.Google Scholar
- }}Pfleeger, S. L. Soup or art? the role of evidential force in empirical software engineering. IEEE Software 22 (2005), 66--73. Google ScholarDigital Library
- }}Popper, K. In Logik der Forschung (2007), H. Keuth, Ed., Akademie Verlag GmbH.Google Scholar
- }}Prechelt, L. Kontrollierte Experimente in der Softwaretechnik. Springer, Berlin, March 2001.Google ScholarCross Ref
- }}Prechelt, L., Unger, B., and Tichy, W. Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Transactions on Software Engineering 28 (2002), 595--606. Google ScholarDigital Library
- }}Sheil, B. A. The psychological study of programming. ACM Comput. Surv. 13, 1 (1981), 101--120. Google ScholarDigital Library
- }}Shneiderman, B. Software Psychology: Human Factors in Computer and Information Systems. Winthrop Publishers, August 1980. Google ScholarDigital Library
- }}Shneiderman, B., and Plaisant, C. Designing the User Interface: Strategies for Effective Human-Computer Interaction, 5. ed. Pearson Addison-Wesley, Upper Saddle River, NJ, 2009. Google ScholarDigital Library
- }}Sjøberg, D. I. K., Dyba, T., and Jørgensen, M. The future of empirical methods in software engineering research. In FOSE ’07: 2007 Future of Software Engineering (Washington, DC, USA, 2007), IEEE Computer Society, pp. 358--378. Google ScholarDigital Library
- }}Sjøberg, D. I. K., Hannay, J. E., Hansen, O., By Kampenes, V., Karahasanović, A., Liborg, N.-K., and C. Rekdal, A. A survey of controlled experiments in software engineering. IEEE Trans. Softw. Eng. 31, 9 (2005), 733--753. Google ScholarDigital Library
- }}Snelting, G. Paul Feyerabend und die Softwaretechnologie. Informatik-Spektrum 21, 5 (October 1998), 273--276.Google ScholarCross Ref
- }}Snelting, G. Feyerabend - zwei Jahre sp\"ater. Softwaretechnik-Trends 21, 1 (February 2001), 40--43.Google Scholar
- }}Sommerville, I. Software Engineering, 9. ed. Addison-Wesley, Harlow, England, 2010. Google ScholarDigital Library
- }}Tichy, W. F. Die Bedeutung der Empirie für die Softwaretechnik. Keynote at German Conference on Software Engineering, Essen, March, 8--11, 2005.Google Scholar
- }}Tichy, W. F. Should computer scientists experiment more? IEEE Computer 31 (1998), 32--40. Google ScholarDigital Library
- }}Tichy, W. F., Lukowicz, P., Prechelt, L., and Heinz, E. A. Experimental evaluation in computer science: A quantitative study. Journal of Systems and Software 28, 1 (1995), 9--18. Google ScholarDigital Library
- }}Ungar, D., and Smith, R. B. Self: The power of simplicity. In OOPSLA ’87: Conference proceedings on Object-oriented Programming Systems, Languages, and Applications (December 1987), ACM, pp. 227--242. Google ScholarDigital Library
- }}Weinberg, G. M. The Psychology of Computer Programming. John Wiley & Sons, Inc., New York, NY, USA, 1985. Google ScholarDigital Library
- }}Wilkinson, L., and the Task Force on Statistical Inference. Statistical methods in psychology journals: Guidelines and explanations. American Psychologist 54 (1999), 594--604.Google ScholarCross Ref
- }}Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. Experimentation in software engineering: an introduction. Kluwer Academic Publishers, Norwell, MA, USA, 2000. Google ScholarDigital Library
- }}Zelkowitz, M. V., and Wallace, D. R. Experimental models for validating technology. Computer 31 (1998), 23--31. Google ScholarDigital Library
Index Terms
- Faith, hope, and love: an essay on software science's neglect of human factors
Recommendations
Faith, hope, and love: an essay on software science's neglect of human factors
OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsResearch in the area of programming languages has different facets -- from formal reasoning about new programming language constructs (such as type soundness proofs for new type systems) over inventions of new abstractions, up to performance ...
Static vs. dynamic type systems: an empirical study about the relationship between type casts and development time
DLS '11Static type systems are essential in computer science. However, there is hardly any knowledge about the impact of type systems on the resulting piece of software. While there are authors that state that static types increase the development speed, other ...
Ethical Issues in Software Engineering Research: A Survey of Current Practice
In this paper we explore how the software engineering research community is currently dealing with the ethical issues that some empirical research presents. We discuss how the immaturity of the software engineering discipline is reflected in an approach ...
Comments