ICPC 2018
Sun 27 - Mon 28 May 2018 Gothenburg, Sweden
co-located with * ICSE 2018 *
Sun 27 May 2018 11:17 - 11:34 at R2 - Static and Dynamic Analysis Chair(s): Aiko Yamashita

Background. Source code analysis techniques usually rely on metric-based assessment. However, most of these techniques have low accuracy. One possible reason is because metric thresholds are extracted from classes driven by distinct design decisions. Previous studies have already shown that classes implemented according to some coarse-grained design decisions, such as programming languages, have different distribution of metric values. Therefore, these design decisions should be taken into account when using benchmarks for metric-based source code analysis. Goal. Our goal is to investigate whether other fine-grained design decisions also influence over distribution of software metrics. Method. We conduct an empirical study to evaluate the distributions of four metrics applied over fifteen real-world systems based on three different domains. Initially, we evaluated the influence of the class design role on the distributions of measures. For this purpose, we have defined an automatic approach to identify the design role played by each class. Then, we looked for other fine-grained design decisions that could have influenced the measures. Results. Our findings show that distribution of metrics are sensitive to the following design decisions: (i) design role of the class (ii) used libraries, (iii) coding style, (iv) exception handling, and (v) logging and debugging code mechanisms. Conclusion. The distribution of software metrics are sensitive to fine-grained design decisions and we should consider taking them into account when building benchmarks for metric-based source code analysis.

Conference Day
Sun 27 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Static and Dynamic AnalysisTechnical Research at R2
Chair(s): Aiko YamashitaOslo Metropolitan University
11:00
17m
Full-paper
JIT Feedback - what experienced developers like about static analysisTechnical Research
Technical Research
Yuriy TymchukSwisscom AG, Mohammad GhafariUniversity of Bern, Oscar NierstraszUniversity of Bern, Switzerland
Link to publication DOI Pre-print
11:17
17m
Full-paper
How do Design Decisions Influence the Distribution of Software Metrics?Technical Research
Technical Research
Marcos DoseaFederal University of Sergipe and Federal Univeresity of Bahia, Claudio Sant'AnnaFederal University of Bahia, Bruno da SilvaCalifornia Polytechnic State University
DOI Pre-print
11:34
10m
Short-paper
SDExplorer: a generic toolkit for smoothly exploring massive-scale sequence diagramTool Demo
Technical Research
Kaixie Lyu, Kunihiro NodaTokyo Institute of Technology, Takashi KobayashiTokyo Institute of Technology
Pre-print
11:44
17m
Full-paper
Hierarchical Abstraction of Execution Traces for Program ComprehensionTechnical Research
Technical Research
Yang FengUniversity of California, Irvine, Kaj DreefUniversity of California, Irvine, James JonesUniversity of California, Irvine, Arie van DeursenDelft University of Technology
DOI Pre-print
12:01
17m
Full-paper
Component Interface Identification and Behavioral Model Discovery from Software Execution DataTechnical Research
Technical Research
Cong LiuEindhoven University of Technology, Boudewijn Van DongenEindhoven University of Technology, Nour AssyEindhoven University of Technology, Wil van der AalstRWTH Aachen University, Germany
12:18
10m
Industry talk
CodeCompass: An Open Software Comprehension FrameworkIndustry Track
Technical Research
Zoltan PorkolabEotvos Lorond University, Dániel KruppEricsson Ltd, Tibor BrunnerEricsson Hungary, Marton CsordasEricsson Hungary
Link to publication DOI Pre-print