ICSE 2019 会议论文总结

文章目录

    • 前言
    • 网址 & 论文下载
    • 1 Comprehending program comprehension (ICPC)
    • 2 Managing human resources (ICGSE)
    • 3 Code cloning and smells (ICPC)
    • 4 Methods and processes (ICGSE)
    • 5 Tools demonstrations (ICPC)
    • 6 Refactoring in Style (ICPC)
    • 7 Tools for comprehension (ICPC)
    • 8 Representations for Mining (MSR)
    • 9 Defect Prediction and Testing (MSR)
    • 10 Empirical Study (ICPC)
    • Large-Scale Mining (MSR)
    • Mining Challenge presentations (MSR)
    • Information Retrieval, API, the Crowd, and Biosensors : The Magnificent Four (ICPC)
    • APIs & Dependencies (MSR)
    • Automatic Summarization (MSR)
    • Security (MSR)
    • Software Quality (MSR)
    • FormaliSE 2019 会议
    • Automated Program Repair (ICSE)
    • 总结
    • 参考文献

前言

ICSE 2019 接收的论文已经公布,各个session也已经公布。ICSE 作为软工顶会,一直都是软工人的风向标,然而我现在还不知道要做什么方向,所以现准备分析一下ICSE 2019文章都有哪些软工的方向,希望:

1)了解当前 ICSE 软工热门方向;
2)看看有什么能做的方向or点。

网址 & 论文下载

ICSE 2019 主页:https://2019.icse-conferences.org/

被收录的所有ICSE论文以及会议日程安排:
https://2019.icse-conferences.org/program/program-icse-2019

但是神奇的是,ICSE 2019 和很多会(包括各种workshop)一起开,比如ICPC 2019,SEAMS 2019,ICSSP等等等等。
基于此情况,我决定在提取软工热门方向时,以“session”为关键字进行分类。

文章下载,有以下几种方式:
1)有些是预出版的,直接在ICSE 2019 accepted papers列表里面就有下载链接;
2)有些在Google学术、百度学术 或者 对应作者的个人主页 能够找到;
3)有些在学校图书馆电子资源里面能找到,但是ICSE 2019 还没开会,也还没有论文集,所以这种情况下这个方法应该行不通。

1 Comprehending program comprehension (ICPC)

Improving Source Code Readability: Theory and Practice (当前检查代码异味和改进软件质量的 指导性 度量标准 metrics 不太行,尤其是在软件的readability上,所以我们提出了新的可读性度量来评估软件代码可读性,从而用于指导软件质量的提高)

Live Programming and Software Evolution: Questions during a Programming Change Task(实时编程环境对软件开发的影响 研究。)

A Large-Scale Empirical Study on Code-Comment Inconsistencies (实证:代码注释的不一致性)

An empirical study on practicality of specification mining algorithms on a real-world application(实证:真实世界应用的规约挖掘算法的可行性/实用性)

2 Managing human resources (ICGSE)

Data Science and development team remote communication: the use of the Machine Learning Canvas(数据科学和开发团队 远程交流:机器学习Canvas。 Canvas的概念见 文献 [1,2]

Performance Evolution of Newcomers in Large-Scale Distributed Software Projects: An Industrial Case Study

3 Code cloning and smells (ICPC)

Comparing Bug Replication in Regular and Micro Code Clones(比较在正常和微小的代码克隆中的bug重现)

Neural Detection of Semantic Code Clones via Tree-Based Convolution (北大,以及谢涛教授。 通过基于树的卷积来做对语义代码克隆的 neural detection)

Comparing Machine Learning and Heuristic Approaches for Metric-Based Code Smell Detection(代码异味的检测有:启发式方法,即通过计算各种metric,得到检测规则;机器学习方法,即代码度量被用作代码异味的预测器。 然后作者搞了一个实证。)

Prevalence of Bad Smells in PL/SQL Projects (PL和SQL项目中的代码坏味)

4 Methods and processes (ICGSE)

  • What Information Matter? An Empirical Study on Task Documentation in Software Crowdsourcing (探究软件众包中的任务文档 什么样的信息在起作用?)

5 Tools demonstrations (ICPC)

  • CCEvovis: A Clone Evolution Visualization System for Software Maintenance (用于软件维护的 克隆演化的可视化系统,这个就是克隆检测落地的工作吧。)

  • DeepVisual: A Visual Programming Tool for Deep Learning Systems (针对深度学习系统的可视化编程工具)

  • srcPtr: A Framework for Implementing Static Pointer Analysis Approaches (一个实施静态指针分析方法的框架)

6 Refactoring in Style (ICPC)

  • Indentation: Simply a Matter of Style or Support for Program Comprehension?

7 Tools for comprehension (ICPC)

  • Replication Can Improve Prior Results: A GitHub Study of Pull Request Acceptance (复现可以改进之前的结果:一个对于pull request 接受度的github研究)

  • Do Extracted State Machine Models Help to Understand Embedded Software? (被提取的状态机模型能够帮助理解嵌入式软件吗?)

8 Representations for Mining (MSR)

  • PathMiner : A Library for Mining of Path-Based Representations of Code (挖掘基于路径的代码representations 的库)

  • SCOR: Source Code Retrieval With Semantics and Order (用语义和顺序去挖掘源码)

  • Import2vec: learning embeddings for software libraries (用例深度学习)

  • Semantic Source Code Models Using Identifier Embeddings

  • Cleaning StackOverflow for Machine Translation (机器转换)

9 Defect Prediction and Testing (MSR)

  • DeepJIT: An End-To-End Deep LearningFramework for Just-In-Time Defect Prediction (缺陷预测)

  • Empirical study in using version histories for change risk classification

  • A Dataset of Non-Functional Bugs (做非功能性缺陷数据集的)

  • A Data Set of Program Invariants and Error Paths (程序不变式和错误路径的数据集)

On the Effectiveness of Manual and Automatic Unit Test Generation: Ten Years Later (人工和自动单元测试生成的效率:10年后)

10 Empirical Study (ICPC)

  • Are Static Analysis Violations Really Fixed? A Closer Look at Realistic Usage of SonarQube (静态分析的违规分析行为真的被修复了吗?)
  • CCSpec: A Correctness Condition Specification Tool (正确性条件规约工具)
  • Learning a Classifier for Prediction of Maintainability based on Static Analysis Tools (又是learning)
  • Understanding Large-Scale Software – A Hierarchical View
  • Understanding Evolutionary Coupling by Fine-grained Co-change Relationship Analysis (复旦大学彭鑫老师)
  • Recommending Differentiated Code to Support Smart Contract Update

Large-Scale Mining (MSR)

  • Crossflow: A Framework for Distributed Mining of Software Repositories
  • Time Present and Time Past: Analyzing the Evolution of JavaScript Code in the Wild

Mining Challenge presentations (MSR)

这个感觉还挺偏实践的,什么都挖。

  • SOTorrent: Studying the Origin, Evolution, and Usage of Stack Overflow Code Snippets
  • Man vs Machine – A Study into language identification of Stackoverflow code snippets
  • Towards Mining Answer Edits to Extract Evolution Patterns in Stack Overflow
  • What Edits Are Done on Highly Answered Stack Overflow Questions? An Empirical Study
  • Challenges with Responding to Static Analysis Tool Alerts

Information Retrieval, API, the Crowd, and Biosensors : The Magnificent Four (ICPC)

  • Recommending Comprehensive Solutions for Programming Tasks by Mining Crowd Knowledge
  • Meditor: Inference and Application of API Migration Edits
  • Using Frugal User Feedback with Closeness Analysis on Code to Improve IR-Based Traceability Recovery

APIs & Dependencies (MSR)

  • Identifying Experts in Software Libraries and Frameworks among GitHub Users

Automatic Summarization (MSR)

Xin Xia 是chair

  • Extracting API Tips from Developer Question and Answer Websites
  • Automatically Generating Documentation for Lambda Expressions in Java

Security (MSR)

  • Automated Software Vulnerability Assessment with Concept Drift
  • A Manually-Curated Dataset of Fixes to Vulnerabilities of Open-Source Software
  • RmvDroid: Towards A Reliable Android Malware Dataset with App Metadata

看来软工也有安全方面的研究。
漏洞

Software Quality (MSR)

  • style-analyzer: fixing code style inconsistencies with interpretable unsupervised algorithms

这也算修复的范畴吧,我认为。

  • Cross-language clone detection by learning over abstract syntax trees (这个有意思,跨语言的克隆检测,感觉好强。但是用的又是learning ,这个是可解释的吗?)

  • SeSaMe: A Data Set of Semantically Similar Java Methods

FormaliSE 2019 会议

  • Parallelizable Reachability Analysis Algorithms for Feed-Forward Neural Networks

神经网络,机器学习,等方法无处不在。

  • On the Formalization of Importance Measures using HOL Theorem Proving

Automated Program Repair (ICSE)

  • Learning to Spot and Refactor Inconsistent Method Names
  • Harnessing Evolution for Multi-Hunk Program Repair
  • On Learning Meaningful Code Changes via Neural Machine Translation
  • Mining Fix Patterns for FindBugs Violations
  • Test-equivalence Analysis for Automatic Patch Generation

总结

还有一些没总结出来,但是感觉基本八九不离十了。(以后有空还会再补充分析,以及以后还会分析ISSTA ,ASE 这些会议的文章)。

我感觉这是一种不错的调研模式,能够帮助你弄清楚领域内的一些问题,同时一定程度借鉴其他方向的思想。

最后,大致总结下软工的几个方向:

  • 静态分析
  • 数据挖掘
  • 代码异味
  • 深度学习
  • 代码克隆,软件演化
  • 软件API相关的研究好多
  • 代码注释生成
  • 软件漏洞(质量相关)
  • Android App相关

参考文献

[1] machinelearningcanvas https://github.com/louisdorard/machinelearningcanvas

The Machine Learning Canvas is a template for developing new or documenting existing predictive systems that are based on machine learning techniques. It is a visual chart with elements describing a question to predict answers to (with machine learning), objectives to reach in the application domain, ways to use predictions to reach these objectives, data sources used to learn a predictor, and performance evaluation methods.

[2] From Data to AI with the Machine Learning Canvas (Part I) https://medium.com/louis-dorard/from-data-to-ai-with-the-machine-learning-canvas-part-i-d171b867b047

你可能感兴趣的:(研二下)