Software Engineering Research
Software Engineering Research: Three Easy Pieces
软件工程研究:三件容易的小事
Reading, Writing, and Hacking
阅读、写作、和黑客式编程
“A week of coding can save you an hour of reading the documentation.” What is software anyway?
What is software’s engineering?
What’s Up with Our Software?
“Adding manpower to a late software project makes it later.(The Mythical Man-Month)”
向一个已经延期的软件项目添加人力,只会让它更延期。
“Software engineering: making life easier for code peasants,given that we can’t seem to build good software quickly.”
软件工程:就是让代码农奴的日子好过一点——鉴于我们似乎就是没法又快又好地造出软件。
“Faster(productivity) and better (quality).The ultimate dream.”
更快(生产力)和更好(质量)。终极梦想。
“Kill ourselves in software development.”
在软件开发中把自己卷死/累死/耗死
The Only Thing We Can Still Do:
我们唯一还能做的:
Seek fun and profits
追求乐趣和利润。
Slove really interesting (and hard) problems!
解决真正有趣(且困难)的问题!
Find 100 bugs in GCC/LLVM; figure out why Android apps lag;…
Build useful tools!
在GCC/LLVM里找100bug;搞清楚Android应用为什么会卡顿;…
构建有用的工具!
Quick test: Would real software engineers (like those at Google or Meta) care about your work?
快速测试:真正的软件工程师(比如Google或Meta的那些人)会在乎你的工作吗?
How to Read a Paper in Three Steps 如何三步读一篇论文
S. Keshav. How to read a paper, ACM SIGCOMM Computer Communication Review, 3(37), 2007.
-
Quick scan 快速扫描
-
category, context, correntness, contributions, clarity 分类,上下文,正确性,贡献,清晰度,记下关键点
-
Jot down the key points
-
read with care, but ignore details as proofs 仔细阅读,但忽略细节(如证明)
-
Virtually re-implement 虚拟复现
-
re-create the work as if you were the author 以作者的身份重新创作这项工作。
How to Read a Paper(cont’d) 如何读一篇论文(续)
A “machine-learning” approach 一种“机器学习”式的阅读方法
This paper identifies a new problem! 这篇论文提出了一个新问题!
Back-prop
This paper tackles an existing problem! 这篇论文解决了一个现有问题!
Hide the solution and try to slove it yourself (like auto-regressive models) 隐藏答案,自己尝试去解决(就像自回归模型那样)
Back-prop
We are “transformers” 我们就是“Transformer”
Traps and Pitfalls in Paper Reading 阅读论文时的陷阱与误区
Only papers solving my problem are relevant 只有解决我问题的论文才相关
- Good problem solvers have lots of tools in their toolbox 好的问题解决者工具箱里有很多工具
This paper is limited in XXXX. It’s useless! 这篇论文在XXXX方面有限制,所以没用!
- Every paper has limitations, be constructive in your criticism 每篇论文都有局限性,请建设性的批评
I give up! 我放弃了
- Don’t give up easily — get some background from ChatGPT 不要轻易的放弃——先向ChatGPT了解一些背景知识。
Quick Recap 快速回顾
-
Read a ton of papers 海量阅读论文
-
Read really good papers (to develop a good taste in research) 阅读真正好的论文(以培养对研究的好品味)
- The training-data quality matters 训练数据的质量至关重要
- “Textbooks are all you need” but… “教科书就是你所需要的一切”,但是…
90% of “top-conference”papers have almost no “real” contributions (maybe doing well,but not groundbreaking) 90%的顶会论文几乎没有真正的贡献(也许做得不错,但并非突破性)
- Lots of papers can mislead junior researchers 大量论文可能会误导初级研究人员。
- Use tools wisely (citation manager, symbolic engines ,GPT,…) 明智地使用工具(文件管理工具,符号引擎,GPT…)
More Comments on Reading…
Manuel Blum’s advice to a beginning graduate student
Just don’t panic 不要慌
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!







