Software developers often look for solutions to their code-level problems by submitting questions to technical Q&A websites like Stack Overflow (SO). They usually include example code segments with questions to describe the programming issues. SO users prefer to reproduce the reported issues using the given code segments when they attempt to answer the questions. Unfortunately, such code segments could not always reproduce the issues due to several unmet challenges (e.g., external library not found) that might prevent questions from receiving prompt and appropriate solutions. A previous study produced a catalog of potential challenges that hinder the reproducibility of issues reported at SO questions. However, it is unknown how the practitioners (i.e., developers) perceive the challenge catalog. Understanding the developers' perspective is inevitable to introduce interactive tool support that promotes reproducibility. We thus attempt to understand developers' perspectives by surveying 53 users of SO. In particular, we attempt to -- (1) see developers' viewpoints on the agreement to those challenges, (2) find the potential impact of those challenges, (3) see how developers address them, and (4) determine and prioritize tool support needs. Survey results show that about 90% of participants agree to the already exposed challenges. However, they report some additional challenges (e.g., error log missing) that might prevent reproducibility. According to the participants, too short code segment and absence of required Class/Interface/Method from code segments severely prevent reproducibility, followed by missing important part of code. To promote reproducibility, participants strongly recommend introducing tool support that interacts with question submitters with suggestions for improving the code segments if the given code segments fail to reproduce the issues.
翻译:软件开发者通常通过向技术网站“Stack Overflow (SO)”等技术网站提交问题来寻找代码层面问题的解决办法。 他们通常包括有问题描述编程问题的例子代码部分。 所以用户在试图回答问题时更喜欢使用给定代码部分复制报告的问题。 不幸的是,由于一些未解决的挑战(例如找不到外部图书馆),这些问题可能阻碍问题得到迅速和适当的解决,因此这些代码部分并不总是能够复制。 先前的一项研究产生了一个潜在挑战的目录,这些潜在挑战阻碍在Staack Over(SO)等问题上重新提出建议。 但是,他们不知道执业者(即开发者)是如何看待挑战目录的。理解开发者的观点是不可避免的,在他们试图通过调查SO的53个用户来理解开发者的观点。 特别是,我们试图 -- (1) 看到开发者对这些挑战的一致观点,(2) 发现这些挑战的潜在影响,(3) 看看开发者如何应对这些挑战,(4) 确定和优先考虑工具支持需要。 调查结果表明,如果参与者的90 %对已经明确提出互动部分,那么,他们就会强烈地提出规则。