{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:34:24Z","timestamp":1750221264110,"version":"3.41.0"},"reference-count":94,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2017,4,30]],"date-time":"2017-04-30T00:00:00Z","timestamp":1493510400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2017,4,30]]},"abstract":"<jats:p>Selecting between different design options is a crucial decision for object-oriented software developers that affects code quality characteristics. Conventionally developers use their experience to make such decisions, which leads to suboptimal results regarding code quality. In this article, a formal model for providing early estimates of quality metrics of object-oriented software implementation alternatives is proposed. The model supports software developers in making fast decisions in a systematic way early during the design phase to achieve improved code characteristics. The approach employs a comparison model related to the application of the Visitor design pattern and inheritance-based implementation on structures following the Composite design pattern. The model captures maintainability as a metric of software quality and provides precise assessments of the quality of each implementation alternative. Furthermore, the model introduces the structural maintenance cost metric based on which the progressive analysis of the maintenance process is introduced. The proposed approach has been applied to several test cases for different relevant quality metrics. The results prove that the proposed model delivers accurate estimations. Thus, the proposed methodology can be used for comparing different implementation alternatives against various measures and quality factors before code development, leading to reduced effort and cost for software maintenance.<\/jats:p>","DOI":"10.1145\/3132731","type":"journal-article","created":{"date-parts":[[2017,10,6]],"date-time":"2017-10-06T12:48:39Z","timestamp":1507294119000},"page":"1-44","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Early Evaluation of Implementation Alternatives of Composite Data Structures Toward Maintainability"],"prefix":"10.1145","volume":"26","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0893-4217","authenticated-orcid":false,"given":"Chris","family":"Karanikolas","sequence":"first","affiliation":[{"name":"University of Peloponnese, Tripoli, Arkadia, Greece"}]},{"given":"Grigoris","family":"Dimitroulakos","sequence":"additional","affiliation":[{"name":"University of Peloponnese, Tripoli, Arkadia, Greece"}]},{"given":"Konstantinos","family":"Masselos","sequence":"additional","affiliation":[{"name":"University of Peloponnese, Tripoli, Arkadia, Greece"}]}],"member":"320","published-online":{"date-parts":[[2017,10,5]]},"reference":[{"edition":"9","volume-title":"Software Engineering","author":"Sommerville Ian","key":"e_1_2_1_1_1"},{"volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education.","year":"1994","author":"Gamma Erich","key":"e_1_2_1_2_1"},{"key":"e_1_2_1_3_1","volume-title":"Software Engineering: A Practitioner's Approach","author":"Pressman Roger","year":"2010","edition":"7"},{"key":"e_1_2_1_4_1","unstructured":"ISO\/IEC 25010. 2011. ISO\/IEC 25010:2011 - Systems and Software Engineering -- Systems and Software Quality Requirements and Evaluation (SQuaRE) -- System and Software Quality Models. ISO March. Retrieved from http:\/\/www.iso.org\/iso\/home\/store\/catalogue_tc\/catalogue_detail.htm?csnumber=35733.  ISO\/IEC 25010. 2011. ISO\/IEC 25010:2011 - Systems and Software Engineering -- Systems and Software Quality Requirements and Evaluation (SQuaRE) -- System and Software Quality Models. ISO March. Retrieved from http:\/\/www.iso.org\/iso\/home\/store\/catalogue_tc\/catalogue_detail.htm?csnumber=35733."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/IEEESTD.2010.5733835"},{"volume-title":"Software Engineering: Facts and Fallacies","year":"2002","author":"Glass Robert L.","key":"e_1_2_1_6_1"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-21952-8_17"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2004.08.041"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2009.5314233"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405288"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1061\/(ASCE)0887-3801(2003)17:2(113)"},{"volume-title":"Proceedings of the 13th World Conference on Earthquake Engineering","year":"2004","author":"Fenves Gregory","key":"e_1_2_1_12_1"},{"volume-title":"Object-Oriented Methods and Finite Element Analysis","author":"Mackie Robert Ian","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/971300.971347"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.compstruc.2008.04.016"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449799"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSPIT.2005.1577183"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609740"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640125"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/METRIC.1998.731224"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.295895"},{"volume-title":"Fenton and Shari Lawrence Pfleeger","year":"1998","author":"Norman","key":"e_1_2_1_22_1"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/302405.302622"},{"key":"e_1_2_1_24_1","first-page":"173","article-title":"A complete and comprehensive metrics suite for object-oriented design quality assessment","volume":"8","author":"Srinivasan Kannan P.","year":"2014","journal-title":"International Journal of Software Engineering and Its Applications"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/METRIC.1998.731251"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1009783721306"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.748920"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/302405.302654"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.544352"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(93)90077-B"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2003.1166590"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2001.972775"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159861.1159863"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11761-016-0202-9"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2011.6080791"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/QUATIC.2007.8"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2010.11.005"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2020976.2020983"},{"key":"e_1_2_1_39_1","first-page":"21","article-title":"Hierarchical model for evaluating software design quality","volume":"4","author":"Bartosz Walter","year":"2010","journal-title":"E-Informatica Software Engineering Journal"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2005.59"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2004.1281427"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.269"},{"volume-title":"Proceedings of ARTES Graduate Student Conference (Neither Reviewed nor Officially Published) (ARTES\u201902)","year":"2002","author":"Land Rikard","key":"e_1_2_1_43_1"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1020557525901"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-908X(199705)9:3%3C161::AID-SMR148%3E3.0.CO;2-8"},{"key":"e_1_2_1_46_1","unstructured":"Philip Wadler. 1998. The expression problem. Posted on the java genericity mailing list.  Philip Wadler. 1998. The expression problem. Posted on the java genericity mailing list."},{"volume-title":"Workshop on Foundations of Object-Oriented Languages (FOOL\u201905)","year":"2005","author":"Zenger Matthias","key":"e_1_2_1_47_1"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0054088"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_2"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24851-4_6"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03013-0_13"},{"volume-title":"d. S. Oliveira","year":"2016","author":"Wang Yanlin","key":"e_1_2_1_52_1"},{"edition":"2","volume-title":"The Definitive ANTLR 4 Reference","author":"Parr Terence","key":"e_1_2_1_53_1"},{"volume-title":"Ullman","year":"2006","author":"Aho Alfred V.","key":"e_1_2_1_54_1"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/611892.611974"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/384266.299798"},{"edition":"2","volume-title":"Engineering a Compiler","author":"Cooper Keith","key":"e_1_2_1_57_1"},{"edition":"4","volume-title":"The Complete Reference","author":"Schildt Herbert","key":"e_1_2_1_58_1"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/CMPSAC.1998.716629"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/504311.504302"},{"key":"e_1_2_1_62_1","first-page":"812","article-title":"Tool for measuring coupling in object-oriented java software","volume":"8","author":"Bidve Vijay S.","year":"2016","journal-title":"International Journal of Engineering and Technology"},{"key":"e_1_2_1_63_1","first-page":"1599","article-title":"Maintenance effort prediction model using cognitive complexity metrics","volume":"3","author":"Aloysius A.","year":"2013","journal-title":"International Journal of Advanced Research in Computer Science and Software Engineering"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2003.1191795"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1049\/iet-sen.2008.0105"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2010.32"},{"volume-title":"Object Oriented Software Engineering: A Use Case Driven Approach","author":"Jacobson Ivar","key":"e_1_2_1_67_1"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070510"},{"key":"e_1_2_1_69_1","unstructured":"ISO\/IEC 25023. 2016. ISO\/IEC 25023:2016 - Systems and Software Engineering -- Systems and Software Quality Requirements and Evaluation (SQuaRE) -- Measurement of System and Software Product Quality. ISO June. Retrieved from http:\/\/www.iso.org\/iso\/home\/store\/catalogue_tc\/catalogue_detail.htm?csnumber=35747.  ISO\/IEC 25023. 2016. ISO\/IEC 25023:2016 - Systems and Software Engineering -- Systems and Software Quality Requirements and Evaluation (SQuaRE) -- Measurement of System and Software Product Quality. ISO June. Retrieved from http:\/\/www.iso.org\/iso\/home\/store\/catalogue_tc\/catalogue_detail.htm?csnumber=35747."},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.5815\/ijitcs.2012.09.04"},{"key":"e_1_2_1_71_1","first-page":"4","article-title":"Maintainability estimation model for object-oriented software in design phase (MEMOOD)","volume":"2","author":"Rizvi S. W. A.","year":"2010","journal-title":"Journal of Computing"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2003.1287246"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.979986"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.988708"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(98)10052-3"},{"volume-title":"Object-Oriented Software Metrics","author":"Lorenz Mark","key":"e_1_2_1_76_1"},{"key":"e_1_2_1_77_1","first-page":"79","article-title":"High precision cohesion metric","volume":"10","author":"Kayarvizhy N.","year":"2013","journal-title":"WSEAS Transactions on Information Science and Applications"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(90)90050-V"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(90)90038-N"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1049\/sej.1990.0027"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-008-9051-x"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.303623"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(94)90067-1"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1049\/ip-sen:20050045"},{"edition":"3","volume-title":"Introduction to Algorithms","author":"Cormen Thomas H.","key":"e_1_2_1_85_1"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511790423"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287680"},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.1109\/METRIC.1997.637156"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809007291"},{"volume-title":"Aspect-Oriented Software Development","author":"Filman Robert E.","key":"e_1_2_1_90_1"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/383845.383853"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2005.4.4.a2"},{"volume-title":"Proceedings of the 11th ACM SIGPLAN International Workshop on Foundations of Object-Oriented Languages (FOOL\u201904)","year":"2004","author":"VanDrunen Thomas","key":"e_1_2_1_93_1"},{"volume-title":"Proceedings of the 8th European Conference on Pattern Languages of Programms (EuroPLoP\u201903)","year":"2003","author":"V\u00f6lter Markus","key":"e_1_2_1_94_1"},{"volume-title":"Proceedings of 14th Annual European Conference on Pattern Languages of Programming (EuroPLoP\u201909)","year":"2009","author":"Zdun Uwe","key":"e_1_2_1_95_1"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3132731","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3132731","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:10:56Z","timestamp":1750212656000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3132731"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,4,30]]},"references-count":94,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2017,4,30]]}},"alternative-id":["10.1145\/3132731"],"URL":"https:\/\/doi.org\/10.1145\/3132731","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2017,4,30]]},"assertion":[{"value":"2016-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-10-05","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}