Table 7: Behavioural Design Patterns Detected in SAS and NSAS.
SAS NAME Adasim DeltaIoT IE Lotus Rainbow TAS
Chain of Responsibility 0 0 0 0 0 0.0039
Observer 0 0 0.0763 0 0.0082 0
State-Strategy 0.0312 0.0609 0.0084 0.1372 0.0500 0.0013
Template Method 0 0 0 0 0.0222 0.0156
Visitor 0 0 0 0 0.0005 0
NSAS NAME ANT PDFBOX Cobertura JHotDraw ProGuard Sunflow
Chain of Responsibility 0 0 0 0 0.0028 0.0095
Observer 0.0031 0 0 0.0056 0.1032 0
State-Strategy 0.0155 0.0128 0.0232 0.1432 0.1060 0.1722
Template Method 0.0051 0.0154 0.0058 0.0337 0.0198 0.0813
Visitor 0 0.0257 0 0 0.0919 0.3301
ported by tools, as far as concerns our knowledge.
REFERENCES
Arcelli Fontana, F., Maggioni, S., and Raibulet, C. (2011).
Understanding the relevance of micro-structures for
design patterns detection. Journal of Systems and Soft-
ware, 84(12):2334–2347.
Arcelli Fontana, F., Maggioni, S., and Raibulet, C.
(2013). Design patterns: a survey on their micro-
structures. Journal of Software: Evolution and Pro-
cess, 25(1):27–52.
Arcelli Fontana, F., Pigazzini, I., Roveda, R., Tamburri,
D. A., Zanoni, M., and Nitto, E. D. (2017). Arcan: A
tool for architectural smells detection. In Intl Conf on
Software Architecture Workshops, Sweden, April 5-7,
2017, pages 282–285.
Chatzigeorgiou, A. and Manakos, A. (2010). Investigating
the Evolution of Bad Smells in Object-Oriented Code.
In 2010 Seventh Int’l Conf. the Quality of Information
and Communications Tech, pages 106–115. IEEE.
de Lemos, R., Giese, H., M
¨
uller, H. A., and Shaw, M., ed-
itors (2013). Software Engineering for Self-Adaptive
Systems II - Intl Seminar, Dagstuhl Castle, Germany,
October 24-29, 2010 Revised Selected and Invited Pa-
pers, volume 7475 of LNCS. Springer.
Fowler, M. (1999). Refactoring: Improving the Design of
Existing Code. Addison-Wesley, Boston, MA, USA.
Gamma, E., Helm, R., Johnson, R. E., and Vlissides,
J. M. (1994). Design Patterns: Elements of Reusable
Object-Oriented Software. Addison-Wesley.
Garcia, J., Popescu, D., Edwards, G., and Medvidovic, N.
(2009). Identifying architectural bad smells. In Con-
ference on Software Maintenance and Reengineering,
pages 255–258, Germany. IEEE.
Kaddoum, E., Raibulet, C., Georg
´
e, J., Picard, G., and
Gleizes, M. P. (2010). Criteria for the evaluation of
self-* systems. In 2010 ICSE Workshop on Software
Engineering for Adaptive and Self-Managing Systems,
South Africa, May 3-4, 2010, pages 29–38.
Lenarduzzi, V., Lomio, F., Taibi, D., and Huttunen, H.
(2019). On the fault proneness of sonarqube techni-
cal debt violations: A comparison of eight machine
learning techniques. CoRR, abs/1907.00376.
Macia, I., Arcoverde, R., Cirilo, E., Garcia, A., and von
Staa, A. (2012). Supporting the identification of
architecturally-relevant code anomalies. In Proc. 28th
IEEE Int’l Conf. Software Maintenance (ICSM 2012),
pages 662–665, Trento, Italy. IEEE.
Martini, A., Arcelli Fontana, F., Biaggi, A., and Roveda, R.
(2018). Identifying and prioritizing architectural debt
through architectural smells: a case study in a large
software company. In European Conf. on Software
Architecture, Spain, pages 320–335.
Peters, R. and Zaidman, A. (2012). Evaluating the Lifes-
pan of Code Smells using Software Repository Min-
ing. In 2012 16th European Conf. Softw. Maintenance
and ReEng., pages 411–416. IEEE.
Raibulet, C. and Arcelli Fontana, F. (2017). Evaluation
of self-adaptive systems: a women perspective. In
11th European Conf on Software Architecture, UK,
September 11-15, 2017, pages 23–30.
Raibulet, C. and Arcelli Fontana, F. (2018). Collaborative
and teamwork software development in an undergrad-
uate software engineering course. Journal of Systems
and Software, 144:409–422.
Raibulet, C., Arcelli Fontana, F., and Carettoni, S. (2020). A
preliminary analysis and comparison of self-adaptive
systems according to different issues. Software Qual-
ity Journal, In press.
Ramirez, A. J. and Cheng, B. H. C. (2010). Design patterns
for developing dynamically adaptive systems. In ICSE
Workshop on Software Engineering for Adaptive and
Self-Managing Systems, South Africa, pages 49–58.
Suryanarayana, G., Samarthyam, G., and Sharma, T.
(2015). Refactoring for Software Design Smells. Mor-
gan Kaufmann, 1 edition.
Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., and
Halkidis, S. T. (2006). Design pattern detection us-
ing similarity scoring. IEEE Transaction on Software
Engineering, 32(11):896–909.
Walter, B. and Alkhaeir, T. (2016). The relationship
between design patterns and code smells: An ex-
ploratory study. Information and Software Technol-
ogy, 74:127 – 142.
Weyns, D. (2018). Software engineering of self-adaptive
systems: An organized tour and future challenges. El-
sevier, 19(1-–12):888–896.
SAS vs. NSAS: Analysis and Comparison of Self-Adaptive Systems and Non-Self-Adaptive Systems based on Smells and Patterns
497