{"title":"在Pharo语言的程序变更任务中提问和回答问题","authors":"Juraj Kubelka, Alexandre Bergel, R. Robbes","doi":"10.1145/2688204.2688212","DOIUrl":null,"url":null,"abstract":"Previous studies focus on the specific questions software engineers ask when evolving a codebase. Though these studies observe developers using statically typed languages, little is known about the developer questions using dynamically typed languages. Dynamically typed languages present new challenges to understanding and navigating in a codebase and could affect results reported by previous studies. This paper replicates a previous study and presents the analysis of six programming sessions made in Pharo, a dynamically typed language. We found a similar result when comparing sessions on an unfamiliar codebase with the previous work. Our result on the familiar code greatly deviates from the replicated study, likely caused by different tasks and development strategies. Both missing type information and test driven development affected participant behavior and prudence on codebase understanding, where some participants made changes based on assumptions. We provide a set of questions that are useful in characterizing activity related to the use of a dynamically typed language and test-driven development -- questions not explicitly considered in previous research. We also present a number of issues that we would like to discuss during the PLATEAU workshop.","PeriodicalId":426815,"journal":{"name":"Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"33","resultStr":"{\"title\":\"Asking and Answering Questions during a Programming Change Task in Pharo Language\",\"authors\":\"Juraj Kubelka, Alexandre Bergel, R. Robbes\",\"doi\":\"10.1145/2688204.2688212\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Previous studies focus on the specific questions software engineers ask when evolving a codebase. Though these studies observe developers using statically typed languages, little is known about the developer questions using dynamically typed languages. Dynamically typed languages present new challenges to understanding and navigating in a codebase and could affect results reported by previous studies. This paper replicates a previous study and presents the analysis of six programming sessions made in Pharo, a dynamically typed language. We found a similar result when comparing sessions on an unfamiliar codebase with the previous work. Our result on the familiar code greatly deviates from the replicated study, likely caused by different tasks and development strategies. Both missing type information and test driven development affected participant behavior and prudence on codebase understanding, where some participants made changes based on assumptions. We provide a set of questions that are useful in characterizing activity related to the use of a dynamically typed language and test-driven development -- questions not explicitly considered in previous research. We also present a number of issues that we would like to discuss during the PLATEAU workshop.\",\"PeriodicalId\":426815,\"journal\":{\"name\":\"Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools\",\"volume\":\"21 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-10-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"33\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2688204.2688212\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2688204.2688212","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Asking and Answering Questions during a Programming Change Task in Pharo Language
Previous studies focus on the specific questions software engineers ask when evolving a codebase. Though these studies observe developers using statically typed languages, little is known about the developer questions using dynamically typed languages. Dynamically typed languages present new challenges to understanding and navigating in a codebase and could affect results reported by previous studies. This paper replicates a previous study and presents the analysis of six programming sessions made in Pharo, a dynamically typed language. We found a similar result when comparing sessions on an unfamiliar codebase with the previous work. Our result on the familiar code greatly deviates from the replicated study, likely caused by different tasks and development strategies. Both missing type information and test driven development affected participant behavior and prudence on codebase understanding, where some participants made changes based on assumptions. We provide a set of questions that are useful in characterizing activity related to the use of a dynamically typed language and test-driven development -- questions not explicitly considered in previous research. We also present a number of issues that we would like to discuss during the PLATEAU workshop.