SCG News

Testability First!

M. Ghafari, M. Eggiman, and O. Nierstrasz. Testability First!. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), p. 1-6, September 2019. Details.

Abstract

Background: The pivotal role of testing in high-quality software production has driven a significant effort in evaluating and assessing testing practices. Aims: We explore the state of testing in a large industrial project over an extended period. Method: We study the interplay between bugs in the project and its test cases, and interview developers and stakeholders to uncover reasons underpinning our observations. Results: We realized that testing is not well adopted, and that testability(i.e., ease of testing) is low. We found that developers tended to abandon writing tests when they assessed the effort to be high. Frequent changes in requirements and pressure to add new features also hindered developers from writing tests. Conclusions: Regardless of the debates on test first or later, we hypothesize that the underlying reasons for poor test quality are rooted in a lack of attention to testing early in the development of a software component, leading to poor testability of the component. However, testability is usually overlooked in research that studies the impact of testing practices, and should be explicitly taken into account.

Posted by scg at 11 December 2019, 1:14 pm comment link

VISON: An Ontology-Based Approach for Software Visualization Tool Discoverability

Leonel Merino, Ekaterina Kozlova, Oscar Nierstrasz, and Daniel Weiskopf. VISON: An Ontology-Based Approach for Software Visualization Tool Discoverability. In VISSOFT’19: Proceedings of the 7th IEEE Working Conference on Software Visualization, IEEE, 2019. Details.

Abstract

Although many tools have been presented in the research literature of software visualization, there is little evidence of their adoption. To choose a suitable visualization tool, practitioners need to analyze various characteristics of tools such as their supported software concerns and level of maturity. Indeed, some of such tools can be prototypes for which the lifespan is expected to be short, whereas some other tools can be fairly mature products that are maintained for a longer time. Although such characteristics are often described in papers, we conjecture that practitioners willing to adopt software visualizations require additional support to discover suitable visualization tools. In this paper, we elaborate on our efforts to provide such support. To this end, we systematically analyzed research papers in the literature of software visualization and curated a catalog of 70 available tools that employ various visualization techniques to support the analysis of multiple software concerns. We further encapsulate these characteristics in an ontology. VISON, our software visualization ontology, captures these semantics as concepts and relationships. We report on early results of usage scenarios that demonstrate how the ontology can support (i) developers to find suitable tools for particular development concerns, and (ii) researchers who propose new software visualization tools to identify a baseline tool for a controlled experiment.

Posted by scg at 11 December 2019, 1:14 pm comment link

The Impact of Developer Experience in Using Java Cryptography

M. Hazhirpasand, M. Ghafari, S. Krüger, E. Bodden, and O. Nierstrasz. The Impact of Developer Experience in Using Java Cryptography. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), p. 1-6, September 2019. Details.

Abstract

Background: Previous research has shown that crypto APIs are hard for developers to understand and difficult for them to use. They consequently rely on unvalidated boilerplate code from online resources where security vulnerabilities are common.Aims and method: We analyzed 2,324 open-source Java projects that rely on Java Cryptography Architecture (JCA) to understand how crypto APIs are used in practice, and what factors account for the performance of developers in using these APIs.Results: We found that, in general, the experience of developers in using JCA does not correlate with their performance. In particular, none of the factors such as the number or frequency of committed lines of code, the number of JCA APIs developers use, or the number of projects they are involved in correlate with developer performance in this domain.Conclusions: We call for qualitative studies to shed light on the reasons underlying the success of developers who are expert in using cryptography. Also, detailed investigation at API level is necessary to further clarify a developer obstacles in this domain.

Posted by scg at 11 December 2019, 1:10 pm comment link

Testability First!

M. Ghafari, M. Eggiman, and O. Nierstrasz. Testability First!. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), p. 1-6, September 2019. Details.

Abstract

Background: The pivotal role of testing in high-quality software production has driven a significant effort in evaluating and assessing testing practices. Aims: We explore the state of testing in a large industrial project over an extended period. Method: We study the interplay between bugs in the project and its test cases, and interview developers and stakeholders to uncover reasons underpinning our observations. Results: We realized that testing is not well adopted, and that testability(i.e., ease of testing) is low. We found that developers tended to abandon writing tests when they assessed the effort to be high. Frequent changes in requirements and pressure to add new features also hindered developers from writing tests. Conclusions: Regardless of the debates on test first or later, we hypothesize that the underlying reasons for poor test quality are rooted in a lack of attention to testing early in the development of a software component, leading to poor testability of the component. However, testability is usually overlooked in research that studies the impact of testing practices, and should be explicitly taken into account.

Posted by scg at 11 December 2019, 1:01 pm comment link

Exploring Example-driven Migration

Manuel Leuenberger. Exploring Example-driven Migration. In Proceedings of the Conference Companion of the 3rd International Conference on Art, Science, and Engineering of Programming, Programming ’19 p. 29:1—29:3, ACM, New York, NY, USA, April 2019. Details.

Abstract

Despite many research efforts to automate API usage migration, it remains often a manual task for developers. We aim to reduce the developer’s pain by exploring ways to integrate the migration process into the IDE. Our migration workbench leverages API usage examples and interactive refactorings to migrate code from one API version to the other.

Posted by scg at 16 October 2019, 6:15 pm comment link
<< 1 2 3 4 5 6 7 8 9 10 >>
Last changed by admin on 21 April 2009