ATDx, in (Alves et al., 2010) an interquartile strategy
is adopted to identify the severeness of metric values.
Differently, this study does not focus on ATD and,
while adopting a system-size normalization strategy,
it takes only one level of granularity (NCLOC). In a
recent work, Ulan et al. (Ulan et al., 2019) proposed
a software metric aggregation approach based on dis-
tribution. Our approach is different by (i) focusing
specifically on outlier architectural rule violations, (ii)
considering sizes according to distinct granularities,
and (iii) clustering results into semantic dimensions.
6 CONCLUSIONS
In this study we presented ATDx, an approach de-
signed to gain an encompassing overview of the
source-code detectable ATD present in a software-
intensive system. The ATDx approach concisely en-
tails (i) the manual inspection of pre-existing source-
code rules, (ii) the identification of outlier normalized
values via statistical analysis, and (iii) the aggregation
of analysis results into a set of ATD dimensions. As
future work, we plan to address the identified draw-
backs by refining our theoretical framework of ATDx.
Additionally, we would like to enhance the current ap-
proach by including the temporal factor into our anal-
ysis. Subsequently, we plan to implement a concrete
instance of ATDx, and validate it by conducting a
large-scale study involving industrial partners in or-
der to assess (i) the usefulness and actionability of the
proposed index, (ii) its sensibility w.r.t. different anal-
ysis tools, and its (iii) performance when dealing with
larger datasets. As stated in (Nord et al., 2012), ATD
is a complex, heterogeneous, and multifaceted prob-
lem. Our approach contributes to advance the field
towards establishing a holistic, encompassing, view
of the ATD present in a software-intensive system.
ACKNOWLEDGMENTS
This material is partially based upon work funded and
supported by the Department of Defense under Con-
tract No. FA8702-15-D-0002 with Carnegie Mellon
University for the operation of the Software Engineer-
ing Institute, a federally funded research and develop-
ment center. DM20-0240.
REFERENCES
Alves, T. L., Ypma, C., and Visser, J. (2010). Deriving met-
ric thresholds from benchmark data. In 2010 IEEE
International Conference on Software Maintenance,
pages 1–10. IEEE.
Arcelli Fontana, F., Pigazzini, I., Roveda, R., Tamburri, D.,
Zanoni, M., and Di Nitto, E. (2017). Arcan: A tool for
architectural smells detection. In IEEE International
Conference on Software Architecture Workshops (IC-
SAW), pages 282–285. IEEE.
Arcelli Fontana, F., Roveda, R., and Zanoni, M. (2016).
Tool support for evaluating architectural debt of an ex-
isting system: An experience report. In Annual ACM
Symposium on Applied Computing, pages 1347–1349.
Avgeriou, P., Kruchten, P., Ozkaya, I., and Seaman, C.
(2016). Managing Technical Debt in Software Engi-
neering (Dagstuhl Seminar 16162). In Dagstuhl Re-
ports, volume 6. Schloss Dagstuhl-Leibniz-Zentrum
fuer Informatik.
Cai, Y. and Kazman, R. (2017). Detecting and quantify-
ing architectural debt: theory and practice. In 2017
IEEE/ACM 39th International Conference on Soft-
ware Engineering Companion, pages 503–504. IEEE.
Ernst, N. A., Bellomo, S., Ozkaya, I., and Nord, R. L.
(2017). What to fix? distinguishing between de-
sign and non-design rules in automated tools. In
IEEE International Conference on Software Architec-
ture (ICSA), pages 165–168.
Frigge, M., Hoaglin, D. C., and Iglewicz, B. (1989). Some
implementations of the boxplot. The American Statis-
tician, 43(1):50–54.
Kalliamvakou, E., Gousios, G., Blincoe, K., Singer, L., Ger-
man, D. M., and Damian, D. (2016). An In-depth
Study of the Promises and Perils of Mining GitHub.
Empirical Software Engineering, 21(5):2035–2071.
Kazman, R., Cai, Y., Mo, R., Feng, Q., Xiao, L., Haziyev,
S., Fedak, V., and Shapochka, A. (2015). A case study
in locating the architectural roots of technical debt. In
2015 IEEE/ACM 37th IEEE International Conference
on Software Engineering, volume 2, pages 179–188.
IEEE.
Kruchten, P., Nord, R. L., and Ozkaya, I. (2012). Technical
debt: From metaphor to theory and practice. IEEE
Software, 29(6):18–21.
Le, D. M., Link, D., Shahbazian, A., and Medvidovic, N.
(2018). An empirical study of architectural decay in
open-source software. In IEEE International Confer-
ence on Software Architecture (ICSA), pages 176–185.
Li, Z., Avgeriou, P., and Liang, P. (2015a). A systematic
mapping study on technical debt and its management.
Journal of Systems and Software, 101:193–220.
Li, Z., Liang, P., and Avgeriou, P. (2015b). Architectural
technical debt identification based on architecture de-
cisions and change scenarios. In Working IEEE/IFIP
Conference on Software Architecture, pages 65–74.
Lidwell, W., Holden, K., and Butler, J. (2010). Universal
Principles of Design. Rockport Pub.
Malavolta, I., Verdecchia, R., Filipovic, B., Bruntink, M.,
and Lago, P. (2018). How maintainability issues of
android apps evolve. In 2018 IEEE International Con-
ference on Software Maintenance and Evolution (IC-
SME), pages 334–344. IEEE.
Martini, A., Fontana, F. A., Biaggi, A., and Roveda, R.
(2018a). Identifying and prioritizing architectural debt
ENASE 2020 - 15th International Conference on Evaluation of Novel Approaches to Software Engineering
538