Reading a good paper is a enjoying thing.
慢慢的,你会发现,其实很多或者你需要的一切,前人已在他们的paper中告诉了你。方法也好,思路也好,这不是很令人振奋的心情么。授人以鱼不如授人以渔。在不同的阶段,在读paper时,应该关注不同的section。
为何我才体会到做research的scientific的这种feel。以前挖坑都是埋自己的吧。。。
[1] Danilo Silva, Nikolaos Tsantalis, and Marco Tulio Valente. 2016. Why We Refactor? Confessions of GitHub Contributors. In 24th International Symposium on the Foundations of Software Engineering (FSE). 858–870.
[thematic analysis, method design, public data sets.] 在thematic analysis时,1和2作分别read text,code,theme,而后讨论确定最终的themes。文中给了详细的确定themes的数据统计,比如多少是2者共识的,多少是一个人同意另一个人的,多少是新的theme即不来自任何一个人之前标记出来的theme。theme结果:http://aserg-ufmg.github.io/why-we-refactor/#/thematicAnalysis
[2] Singer L, Figueira Filho F, Storey MA. Software engineering at the speed of light: how developers stay current using twitter. InProceedings of the 36th International Conference on Software Engineering 2014 May 31 (pp. 211-221). ACM.
[writing in a very logic/scientific way, detailed statistics about survey and interview, the method design is very solid.]最后一轮survey的validation很赞很经验,然后里面提到访谈达到saturation时终止。都是很好的method和Experiment的guide。
[3] Using Scrum in Global Software Development: A Systematic Literature Review
本文在做literature review时严格遵循着科学的步骤,是一个很好的参考文章。research should be scientific.
[4] 2018 CACM上google关于Lessons from Building Static Analysis Tools at Google的文章,值得一读。
https://cacm.acm.org/magazines/2018/4/226371-lessons-from-building-static-analysis-tools-at-google/fulltext
[5] 2017.09 CSUR上的论文:Analysis of JavaScript Programs: Challenges and Research Trends
里面关于先找major conference里的论文,再看这些论文里引用的论文,通过引用构建有向图,根据in-edges来划分子图,得到research topics。再根据有向图的边的方向来得到某个topic的发展历程。这种research method是值得学习的。
在地铁上,我想到了用card sorting来找topics的优劣处。按理功效应该能达成一致。只是在识别发展历程及trends时基于时序的有向图应该更是天生自然适用。这种从主要会议的文章入手,通过引用等查漏补缺也确实是一个不错的方法。
[6] Cowboys, ankle sprains, and keepers of quality: how is video game development different from software development?
这个文章,真是跪了,读起来简直是享受。思维缜密,前因后果交代清楚,方法sound,第一次在一篇文章里,看到了通过控制变量来分组验证从Interview中得到的difference是不是真的difference,不是在组内,而是通过对比多个组。以往的study都是sample几个人得到一些观点,然后找sample人所在的同一类人去验证取百分比。这个只能说明同组内的观点,并不能说明其问题是uniq的,如果其他style/type的也是这些现象,那便失去的domain specific的特性。自己现在在做的一个研究也是这个问题。
文章的用词,以退为进,拔高讲故事(重点看introduction和conclusion)也是让人佩服,简直是可以作为模板来研究写作。
在选participants时从linkedin里面去搜相关背景知识的人,也是提供了一种新思路,目前的方法估计就是github,Reddit,industrial,personal contact,snowballing,tweet/facebook啥的了吧。
此外还有一点,就是自己总是倾向于想问题偏广,却不知如何把一个点做深。这个文章却告诉你如何将一个点做深,比如研究video game的开发和传统软件的开发的不同,这一个问题,如何来系统性的solid来挖掘出具体的足够多的点,这是个好的指导。文章做的是先让interviewee自由发挥,然后是有系统的有根据的从2个文档/文献里分别抽出SE topic list(关乎软件开发的各个过程,SWEBOK)和general topic list(取自applied psychology)。同时关注技术本身和人,环境,social本身。这些与SE开发密切相关的topic。考虑到topic的数目多,人数有限,里面采取了人从topic里随机抽2-3个topic进行讨论的策略,达到saturation便停止的策略。
其实总共访了14个人,虽然达到saturation,但每个topic只有提到2次以上,总觉得有点局限。
这个related work怎么去argue跟已有工作的不同,也是值得学习的地方。比如These works are based on the experience of the authors and largely do not contextualize game development as a special type of software engineering. In contrast, our findings are based on empirical observations that explicitly focus on the differences between general software engineering and game development.
Recently, several researchers have focused on studying the process of developing games. xxx. Our work builds on this work by studying differences between traditional software engineering and game development.
Like our work, existing work has empirically investigated game development. xxx In contrast to this prior work, our paper studies broad differences between game development and traditional software engineering.
Also like our work, some existing research has investigated differences between game development and traditional software engineering. One significant limitation to this work is that contributing game developers may be reticent to report some negative aspects of their work, because the postmortems were publically available. In contrast, our work uses anonymized interviews and surveys, which we believe helped respondents be more candid. 这个不知道是说他能扯好还是狡辩好,能牵扯到这,我感觉我也是醉了。
Prior position papers have explicitly compared software engineering and game development, namely that of Lewis and Whitehead [30] as well as Kanode and Haddad [31]. In contrast, the work presented here derives its results from empirical grounding.看到没Empirical grounding。。。
附相应survey一枚:https://people.engr.ncsu.edu/ermurph3/experiments/Games.pdf
note, appear to, in essence, tend to,
Our results suggest that games have significant differences from “traditional” software development, and this paper contributes an empirical foundation on which to understand those differences. In a larger sense, this work represents a step towards understanding software development not as a homogenous whole, but instead as a rich tapestry of varying practices involving diverse people across diverse domains.
网友评论