2019年杭州智能软件工程冬季学校——三天学习经历+感想

前言

24号来的杭州,参加了为期三天(11.25-11.28)的浙大软工研究实验室主办的 Intelligent Software Engineering Winter School ,今天准备走啦,回想这些天,感觉还是很有意义的,所以在此简单记录一下。

1 冬季学校介绍

主页:https://iseschool2019.github.io/

总共有五位主讲人:
2019年杭州智能软件工程冬季学校——三天学习经历+感想
而且这个冬季学校的主题也很有意义,这里摘取几句:
The Intelligent Software Engineering Winter School brings together academics, researchers, practitioners, and graduate students to acquire essential knowledge and valuable skills for applying machine learning techniques to tackle software engineering challenges(将机器学习技术应用到软工问题的解决中).

Lectures are given by world-leading experts in the areas of Data Science, Software Analytics and Machine Learning.(这个确实,来做讲座的主讲人确实都是专家,有国外高校来的,也有微软研究院的)

The objective of this school is to give young researchers in China as well as from globe opportunities to interact closely and intensively with the world-leading software engineering experts(重在交流). We expect this school will benefit the attendees, the community, and eventually promote the advance of intelligent software engineering in the world.

2 学习经历

当时开始上课前发了一个小本子,上完课之后,我的小本子基本上也记完了,这里简单分享下其中一些记录。

2.1 Daniel German —— Using Git And Github Repositories For Research In Software Engineering

他的repo:https://github.com/dmgerman/git-mining

这次上课的课件:https://github.com/dmgerman/msrWS (非常给力,发布到了github)

  • Git (Linux Kernel的开发用的很多,提供了good reviews)
  • CVS(Concurrent version system):用于管理、维护一个软件
  • 作者参与了Linux kernel的开发工作
  • every repo is a branch. everybody can make a change.
  • merging is the core aspect.
  • The invention of Git (Linux) started from around 2005
  • git needs to prevent data loss/corruption
  • git needs at least one public repo -> git is a storage system
  • Blob, Tree (a list of Blobs), Commit (store & metadata).
  • 增量式的代码控制,每改一处代码,就create a blob and a tree -> a commit
  • every blob has a hash.
  • git clone -> copy
  • fetch -> sync (new branch)
  • merge
  • pull request
  • revase
  • fasr-forward merge
  • cherry-pich
  • squash->get a clean version history
  • push
  • fork

作者的一些建议:

  • understand how the project stores things & how to record things.
  • postgres
  • learn from Linux.

2.2 James Herbsleb——What Makes Organizations Intelligent?

sorry,这个没有听太懂,感觉和我方向没有那么相关

  • Current AI&SE focuses on the individual developer, but we focus on team
  • “phone tag”
  • “connectIcon”
  • organizational intelligence
  • AI to augment organizational intelligence is not a well-developed area
  • Team-work.
  • exchange information

2.3 David Lo——Data Analytics for Automated Software Engineering

  • pattern mining
  • clustering
  • classification
  • 走向可解释的AI。explainable AI
  • Android permission (pattern mining)
  • performance bug fixing (cluster)
  • predict risks of code changes (classification)
  • information retrieval —> duplicate bug report detection

2.4 Thomas Zimmermann——Decoding Software Productivity with Data Science

  • data science about people
  • productivity
  • usage analytics
  • make ajustments according to users’ feedback
  • clustering
  • understand data rather than just collect data
  • choosing the right questions for the right team
  • explain the findings in simple terms
  • translate findings into business values
  • Interview & Survey (powerful approaches to get richer data and more info)

2.5 Zhenchang Xing——Road to AI Pair Programmer: Behavior Analytics and Knowledge Graph

  • knowledge graph
  • intelligent software development -> artefacts (big development); behavior (small),knowledge(at the very beginnig)
  • intelligent software development is beyond (artefact-centric) AI
  • pair pogramming
  • 把information真正转化为knowledge
  • data-driven的基础上加上perspective of knowledge
  • knowledge-guided programming,各种entity关联起来
  • 未来方向:bug repair->bug prevention.
  • action recognition

3 感想

接连学习三天,没有出去玩。1是去年已经来过一次CNCC了,2是现在感觉自己也不那么喜欢玩了,安安静静呆着学习一会儿也不错。(所以今天上午写了写博客)

一些感想:

  • 在课件和Daniel German以及David Lo老师请教了一些问题,这些老师都很好,感谢他们的耐心回答;
  • 遗憾没有在课堂上提问,,,可能正如网页所说:有的人不提问可能是觉得the question may not be that relevant to this tutorial/lecture.
  • 感觉能正常听懂课堂知识(主要是听懂老师在说什么),然后能够正常、比较流利的和老师交流,,,可能是考完雅思之后感觉自己英语水平确实提高了
  • 感觉以后还得积极和他人交流,这次没有主动去认识谁,也没有很主动和同来学习的软工朋友们谈话聊天,还是有些可惜的

时间流逝之快让人咂舌。所以珍惜时间,好好学习。