Farseerfc的小窩 - mining//farseerfc.me/2012-06-02T10:42:00+09:00MSR 2012 @ ICSE2012-06-02T10:42:00+09:002012-06-02T10:42:00+09:00farseerfctag:farseerfc.me,2012-06-02:/msr2012.html
<div class="section" id="mining-software-repository-2012-icse">
<h2><a class="toc-backref" href="#id3">Mining Software Repository 2012 @ ICSE</a></h2>
<p>參加了今年的MSR,會場在University of Zurich。一大早來到大學,註冊有點
小插曲,顯然瑞士人搞不清楚中國人的名字,3個楊(Yang)姓的中國人的名牌
被搞錯了。然後堀田學長的所屬被寫作了“Japan, Japan”,成爲了全日本的代表。</p>
<div class="section" id="msr-microsoft-research-talk-msr-mining-software-repositories">
<h3><a class="toc-backref" href="#id4">MSR(MicroSoft Research) talk @ MSR(Mining Software Repositories)</a></h3>
<p>首先是來自微軟亞洲研究院(MicroSoft Research @ Asia, MSR Asia)的Keynots,
於是就變成了MSR在MSR的演講。MSR的張冬梅(Dongmei Zhang)女士的演講
分爲關於Software Analysis和XIAO的兩部分。XIAO是MSRA開發的Code Clone
Detector,似乎我要給井上研做的就是這個。想更多瞭解Xiao的細節,不過張女士
演講結束的時候的鼓掌導致了話筒的小故障 …</p></div></div>
<div class="section" id="mining-software-repository-2012-icse">
<h2><a class="toc-backref" href="#id3">Mining Software Repository 2012 @ ICSE</a></h2>
<p>參加了今年的MSR,會場在University of Zurich。一大早來到大學,註冊有點
小插曲,顯然瑞士人搞不清楚中國人的名字,3個楊(Yang)姓的中國人的名牌
被搞錯了。然後堀田學長的所屬被寫作了“Japan, Japan”,成爲了全日本的代表。</p>
<div class="section" id="msr-microsoft-research-talk-msr-mining-software-repositories">
<h3><a class="toc-backref" href="#id4">MSR(MicroSoft Research) talk @ MSR(Mining Software Repositories)</a></h3>
<p>首先是來自微軟亞洲研究院(MicroSoft Research @ Asia, MSR Asia)的Keynots,
於是就變成了MSR在MSR的演講。MSR的張冬梅(Dongmei Zhang)女士的演講
分爲關於Software Analysis和XIAO的兩部分。XIAO是MSRA開發的Code Clone
Detector,似乎我要給井上研做的就是這個。想更多瞭解Xiao的細節,不過張女士
演講結束的時候的鼓掌導致了話筒的小故障。</p>
</div>
<div class="section" id="towards-improving-bts-with-game-mechanisms">
<h3><a class="toc-backref" href="#id5">Towards Improving BTS with Game Mechanisms</a></h3>
<p>感覺這篇的內容基本上就是關於</p>
<p><a class="reference external" href="http://www.joelonsoftware.com/items/2008/09/15.html">http://www.joelonsoftware.com/items/2008/09/15.html</a></p>
<p>這裏寫到的東西,然後說同樣的理論是否可以用於Issue Tracking之類的事情上。
個人感覺這個意義不大,stackoverflow之所以成功是因爲它把開源社區本身就
具有的名譽體系具現化了,本着大家都喜歡被別人奉爲大牛的心態,就如同
wikipedia一樣。同樣的理論如果用於公司內部的Issue Tracking系統上,會得到
完全不同的東西吧。就像MSDN的組織方式雖然和wikipedia是一樣的,但是在MSDN
裏找信息的感覺和在wikipedia完全不一樣。個人不太看好這個方向。</p>
</div>
<div class="section" id="ghtorrent">
<h3><a class="toc-backref" href="#id6">GHTorrent</a></h3>
<p>這篇的slide在這裏可以看到:<a class="reference external" href="http://www.slideshare.net/gousiosg/ghtorrent-githubs-data-from-a-firehose-13184524">http://www.slideshare.net/gousiosg/ghtorrent-githubs-data-from-a-firehose-13184524</a></p>
<p>Data exporter for github. Github的主要數據,代碼,已經可以通過git接口
獲得了,wiki是git的形式保存的。所以這個項目的目的就是暴露別的數據,主要
是issue tracking,code comments,這種。代碼訪問github api,然後用分佈式
實現以克服api的限制,然後提供torrents形式的history下載。github api獲得
的json數據以bson的形式保存在MongoDB裏,解析過的有了Schema之後的數據保存
在MySQL裏並可以導出SQL。</p>
<p>個人的想法,覺得數據如果能夠更統一,全部存在Git裏或許更好,像Wiki一樣。
同樣是要暴露全部歷史記錄的目的,用Torrent自己實現的歷史遠不如用Git的
接口實現的歷史記錄方便吧,git blame之類的也更方便追蹤code comment之類的
作者信息。當然對git的raw date直接讀寫,需要對git的內部原理有足夠的理解,
或許只有github的人有這種能力了。</p>
</div>
<div class="section" id="topic-mining">
<h3><a class="toc-backref" href="#id7">Topic Mining</a></h3>
<p>用得兩個參數, DE 和 AIC,完全不能理解,過後研究。實驗針對了Firefox,
Mylyn, Eclipse三個軟件。試圖從Repo中分析源代碼的identifier和comments,
找到topic和bug之間的關係,比如怎樣的topic更容易導致bug。得出的結論似乎
也很曖昧,只是說核心功能被報告的bug更多,但是不知道原因。這只能表示核心
功能受到更多關注和更多測試吧,並不能說明核心功能就容易產生bug。</p>
<p>不過這個的Slide做得很漂亮,很容易理解。</p>
</div>
<div class="section" id="secold">
<h3><a class="toc-backref" href="#id8">SeCold</a></h3>
<p>A linked data platform for mining software repositories</p>
<p>沒聽懂這個項目的目的。</p>
</div>
<div class="section" id="the-evolution-of-software">
<h3><a class="toc-backref" href="#id9">The evolution of software</a></h3>
<p>第二天的Keynotes,關於將Social Media和Software Development相結合的想法。
或許就是Github賴以成功的基礎。講到代碼中的comment, Tags, uBlog, blog之類
的social的特性和IDE的融合的趨勢。</p>
</div>
<div class="section" id="do-faster-releases-imporve-software-quality">
<h3><a class="toc-backref" href="#id10">Do Faster Releases Imporve Software Quality?</a></h3>
<p>使用Firefox作爲例子。</p>
<p>結論是快速發佈導致bug更多,更容易crash,但是bug更快得到修復,並且用戶
更快轉向新的發佈。</p>
</div>
<div class="section" id="security-vs-performance-bugs-in-firefox">
<h3><a class="toc-backref" href="#id11">Security vs Performance Bugs in Firefox</a></h3>
<p>Performance bugs are regression, blocks release.</p>
</div>
<hr class="docutils"/>
<div class="section" id="id1">
<h3><a class="toc-backref" href="#id12">一些感想</a></h3>
<div class="section" id="commit">
<h4><a class="toc-backref" href="#id13">基於自然語義分析的commit分割</a></h4>
<p>經常工具(比如git)的使用者並沒有按照工具設計者的意圖使用工具,這給MSR
帶來很多困難。舉個例子,git有非常完美的branch系統,通常期望git的使用者
能夠在一次commit裏commit一個功能,比如一個bug的修復,或者一個feature的
添加,但是事實上經常有很多邏輯上的commit被合併在一個裏面了。</p>
<p>或許這不是使用者的錯,而是工具仍然不夠人性的表現。或許我們可以自動把
一次的commit按照語義分割成多個。</p>
<p>分割之後,可以更容易地把issue和commit關聯,也更容易組織更多的研究。</p>
</div>
<div class="section" id="slides">
<h4><a class="toc-backref" href="#id14">關於這次發表中大家用的slides系統</a></h4>
<p>題目爲``Incorporating Version Histories in Information Retrieval Based
Bug Localization''的人用的slide是beamer的。公式很多,overlay很多,列表
很多,圖片很少,典型的beamer做出的slide。思維導圖用得很不錯。今天一天
有至少3個slide是用beamer做的。</p>
<p>題目爲``Towards Improving Bug Tracking Systems with Game Mechanisms''
的人用了prezi,圖片很多,過度很多。但是比如沒有頁號沒有頁眉頁腳,正式
會議的場合不太方便。</p>
<p>至少有六個以上用了Apple Keynotes,Keynotes做出來的東西真的和Powerpoint
做出來的很難區別,其中兩個人用了初始的主題所以才看出來。</p>
<p>剩下的自然是PPT。MSRA的張女士做的雖然是PPT,倒是有很多beamer的感覺,
比如頁眉頁腳和overlay的用法。這些如果都是PPT做出來的,會多很多額外的
人力吧。</p>
<p>值得一提的是有一個題目爲``Green Mining: A Methodology of Relating
Software Change to Power Consumption''的人的slide全是``劣質''的手繪漫畫,
效果意外地好,很低碳很環保很綠色很可愛。具體效果可以參考下面的動畫,雖然
現場看到的不是一個版本:</p>
<p><a class="reference external" href="http://softwareprocess.es/a/greenmining-presentatation-at-queens-20120522.ogv">http://softwareprocess.es/a/greenmining-presentatation-at-queens-20120522.ogv</a></p>
</div>
<div class="section" id="id2">
<h4><a class="toc-backref" href="#id15">微軟是個腹黑娘!</a></h4>
<p>嘛雖然這也不是什麼新聞了。MSR2012的Mining Challenge的贊助商是微軟,管理
組織者來自微軟研究院,獎品是Xbox和Kinect。然後今年的題目是:</p>
<pre class="literal-block">
Mining Android Bug
</pre>
<p>我看到了微軟滿滿的怨氣……</p>
</div>
</div>
</div>