skip to main content
research-article

Early Evaluation of Implementation Alternatives of Composite Data Structures Toward Maintainability

Published:05 October 2017Publication History
Skip Abstract Section

Abstract

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.

References

  1. Ian Sommerville. 2010. Software Engineering (9th ed.). Addison-Wesley, Boston.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Roger Pressman. 2010. Software Engineering: A Practitioner's Approach (7th ed.). McGraw-Hill, New York.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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.Google ScholarGoogle Scholar
  5. ISO/IEC/IEEE 24765. 2010. ISO/IEC/IEEE 24765:2010 - Systems and Software Engineering -- Vocabulary. ISO/IEC/IEEE, December, 1--418. DOI:http://dx.doi.org/10.1109/IEEESTD.2010.5733835 Google ScholarGoogle ScholarCross RefCross Ref
  6. Robert L. Glass. 2002. Software Engineering: Facts and Fallacies. Addison-Wesley Longman Publishing Co., Boston.Google ScholarGoogle Scholar
  7. Mark Hills, Paul Klint, Tijs Van Der Storm, and Jurgen Vinju. 2011. A case of visitor versus interpreter pattern. In Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS’11). Springer-Verlag, Berlin, 228--243. DOI:http://dx.doi.org/10.1007/978-3-642-21952-8_17 Google ScholarGoogle ScholarCross RefCross Ref
  8. Tom Mens and Amnon H. Eden. 2005. On the evolution complexity of design patterns. Electronic Notes in Theoretical Computer Science 127, 3, 147--163. DOI:http://dx.doi.org/10.1016/j.entcs.2004.08.041 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Mehwish Riaz, Emilia Mendes, and Ewan Tempero. 2009. A systematic review of software maintainability prediction and metrics. In Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement (ESEM’09). IEEE Computer Society, Washington, DC, 367--377. DOI:http://dx.doi.org/10.1109/ESEM.2009.5314233 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Tibor Bakota, Peter Hegedűs, Gergely Ladányi, Peter Körtvélyesi, Rudolf Ferenc, and Tibor Gyimóthy. 2012. A cost model based on software maintainability. In 2012 28th IEEE International Conference on Software Maintenance (ICSM'12), 316--325. DOI:http://dx.doi.org/10.1109/ICSM.2012.6405288 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Wei Liu, Mai Tong, Xiaoyun Wu, and George Lee. 2003. Object-oriented modeling of structural analysis and design with application to damping device configuration. Journal of Computing in Civil Engineering 17, 2, 113--122. DOI:http://dx.doi.org/10.1061/(ASCE)0887-3801(2003)17:2(113) Google ScholarGoogle ScholarCross RefCross Ref
  12. Gregory Fenves, Frank McKena, Michael Scott, and Yoshikazu Takahashi. 2004. An object-oriented software environment for collaborative network simulation. In Proceedings of the 13th World Conference on Earthquake Engineering. Vancouver, Canada.Google ScholarGoogle Scholar
  13. Robert Ian Mackie. 2002. Object-Oriented Methods and Finite Element Analysis. Saxe-Coburg Publications, Kippen, Stirling, UK.Google ScholarGoogle Scholar
  14. Norman Neff. 2004. Attribute based compiler implemented using visitor pattern. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE’04). ACM, New York, 130--134. DOI:http://dx.doi.org/10.1145/971300.971347 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Peter Heng and Ian Mackie. 2009. Using design patterns in object-oriented finite element programming. Computers 8 Structures, Computational Structures Technology 87, 15--16, 952--961. DOI:http://dx.doi.org/10.1016/j.compstruc.2008.04.016 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Bruno C. d. S. Oliveira, Meng Wang, and Jeremy Gibbons. 2008. The visitor pattern as a reusable, generic, type-safe component. In Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA’08). ACM, New York, 439--456. DOI:http://dx.doi.org/10.1145/1449764.1449799 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Sergiu Dascalu, Ning Hao, and Narayan Debnath. 2005. Design patterns automation with template library. In Proceedings of the 5th IEEE International Symposium on Signal Processing and Information Technology. 699--705. DOI:http://dx.doi.org/10.1109/ISSPIT.2005.1577183 Google ScholarGoogle ScholarCross RefCross Ref
  18. Mario Luca Bernardi and Giuseppe Antonio Di Lucca. 2010. Model-driven detection of design patterns. In 2010 IEEE International Conference on Software Maintenance (ICSM’10). 1--5. DOI:http://dx.doi.org/10.1109/ICSM.2010.5609740 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Dirk Riehle. 2009. Design pattern density defined. In Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA’09). ACM, New York, 469--480. DOI:10.1145/1640089.1640125 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Giuliano Antoniol, Roberto Fiutem, and Luca Cristoforetti. 1998. Using metrics to identify design patterns in object-oriented software. In International Software Metrics Symposium, Proceedings, 23--33. DOI:http://dx.doi.org/10.1109/METRIC.1998.731224 Google ScholarGoogle ScholarCross RefCross Ref
  21. Shyam R. Chidamber and Chris F. Kemerer. 1994. A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20, 6, 476--493. DOI:http://dx.doi.org/10.1109/32.295895 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Norman E. Fenton and Shari Lawrence Pfleeger. 1998. Software Metrics: A Rigorous and Practical Approach (2nd ed.). PWS Publishing Co., Boston.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Rudolf K. Keller, Reinhard Schauer, Sébastien Robitaille, and Patrick Pagé. 1999. Pattern-based reverse-engineering of design components. In Proceedings of the 21st International Conference on Software Engineering (ICSE’99). ACM, New York, 226--235. DOI:http://dx.doi.org/10.1145/302405.302622 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Kannan P. Srinivasan and Nisha T. Devi. 2014. A complete and comprehensive metrics suite for object-oriented design quality assessment. International Journal of Software Engineering and Its Applications 8, 2, 173--188. DOI:http://dx.doi.org/10.14257/ijseia.2014.8.2.17Google ScholarGoogle Scholar
  25. Lionel C. Briand, John Daly, Victor Porter, and Juergen Wuest. 1998. Comprehensive empirical validation of design measures for object-oriented systems. In International Software Metrics Symposium, Proceedings, 246--257. DOI:http://dx.doi.org/10.1109/METRIC.1998.731251 Google ScholarGoogle ScholarCross RefCross Ref
  26. Lionel C. Briand, John W. Daly, and Jürgen K. Wüst. 1998. A unified framework for cohesion measurement in object-oriented systems. Empirical Software Engineering 3, 1, 65--117. DOI:http://dx.doi.org/10.1023/A:1009783721306 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Lionel C. Briand, John W. Daly, and Jürgen K. Wüst. 1999. A unified framework for coupling measurement in object-oriented systems. IEEE Transactions on Software Engineering 25, 1, 91--121. DOI:http://dx.doi.org/10.1109/32.748920 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Lionel C. Briand, Jürgen K. Wüst, Stefan V. Ikonomovski, and Hakim Lounis. 1999. Investigating quality factors in object-oriented designs: An industrial case study. In Proceedings - International Conference on Software Engineering (ICSE'99), 345--354. DOI:http://dx.doi.org/10.1145/302405.302654 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Victor R. Basili, Lionel C. Briand, and Walcélio L. Melo. 1996. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering 22, 10, 751--761. DOI:http://dx.doi.org/10.1109/32.544352 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Wei Li and Sallie Henry. 1993. Object-oriented metrics that predict maintainability. Journal of Systems and Software, Object-Oriented Software 23, 2, 111--122. DOI:http://dx.doi.org/10.1016/0164-1212(93)90077-B Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Rajendra K. Bandi, Vijay K. Vaishnavi, and Daniel E. Turk. 2003. Predicting maintenance performance using object-oriented design complexity metrics. IEEE Transactions on Software Engineering. 29, 1, 77--87. DOI:http://dx.doi.org/10.1109/TSE.2003.1166590 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. James M. Bieman, Dolly Jain, and Helen J. Yang. 2001. OO design patterns, design structure, and program changes: An industrial case study. In IEEE International Conference on Software Maintenance, 2001, Proceedings. 580--589. DOI:http://dx.doi.org/10.1109/ICSM.2001.972775 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Jeremy Gibbons. 2006. Design patterns as higher-order datatype-generic programs. In Proceedings of the 2006 ACM SIGPLAN Workshop on Generic Programming (WGP’06). ACM, New York, 1--12. DOI:10.1145/1159861.1159863. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Lov Kumar, Aneesh Krishna, and Santanu Ku Rath. 2016. The impact of feature selection on maintainability prediction of service-oriented applications. Service Oriented Computing and Applications 11, 2, 137--161. DOI:http://dx.doi.org/10.1007/s11761-016-0202-9 Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Tibor Bakota, Peter Hegedűs, Peter Körtvélyesi, Rudolf Ferenc, and Tibor Gyimóthy. 2011. A probabilistic software quality model. In 2011 27th IEEE International Conference on Software Maintenance (ICSM’11). 243--252. DOI:http://dx.doi.org/10.1109/ICSM.2011.6080791 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Ilja Heitlager, Tobias Kuipers, and Joost Visser. 2007. A practical model for measuring maintainability. In Proceedings of the 6th International Conference on Quality of Information and Communications Technology (QUATIC’07). IEEE Computer Society, Washington, DC, 30--39. DOI:http://dx.doi.org/10.1109/QUATIC.2007.8 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Tom Arbuckle. 2011. Studying software evolution using artefacts’ shared information content. Science of Computer Programming 76, 12, 1078--1097. DOI:http://dx.doi.org/10.1016/j.scico.2010.11.005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Sanjay Kumar Dubey and Ajay Rana. 2011. Assessment of maintainability metrics for object-oriented software system. SIGSOFT Software Engineering Notes 36, 5, 1--7. DOI:http://dx.doi.org/10.1145/2020976.2020983 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Walter Bartosz and Martenka Pawel. 2010. Hierarchical model for evaluating software design quality. E-Informatica Software Engineering Journal 4, 1, 21--30.Google ScholarGoogle Scholar
  40. Jane Huffman Hayes and Liming Zhao. 2005. Maintainability prediction: A regression analysis of measures of evolving systems. In 21st IEEE International Conference on Software Maintenance (ICSM’05). 601--604. DOI:http://dx.doi.org/10.1109/ICSM.2005.59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Jane Huffman Hayes, Sandip C. Patel, and Liming Zhao. 2004. A metrics-based software maintenance effort model. In Proceedings of the 8th European Conference on Software Maintenance and Reengineering, 2004 (CSMR’04). 254--258. DOI:http://dx.doi.org/10.1109/CSMR.2004.1281427 Google ScholarGoogle ScholarCross RefCross Ref
  42. Yunsik Ahn, Jungseok Suh, Seungryeol Kim, and Hyunsoo Kim. 2003. The software maintenance project effort estimation model based on function points. Journal of Software Maintenance 15, 2, 71--85. DOI:http://dx.doi.org/10.1002/smr.269 Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Rikard Land. 2002. Measurements of software maintainability. In Proceedings of ARTES Graduate Student Conference (Neither Reviewed nor Officially Published) (ARTES’02).Google ScholarGoogle Scholar
  44. Meir M. Lehman and Juan F. Ramil. 2002. Software evolution and software evolution processes. Annals of Software Engineering 14, 1--4, 275--309. DOI:http://dx.doi.org/10.1023/A:1020557525901 Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Juan Carlos Granja-Alvarez, and Manuel José Barranco-García. 1997. A method for estimating maintenance cost in a software project: A case study. Journal of Software Maintenance 9, 3, 161--175. DOI:http://dx.doi.org/10.1002/(SICI)1096-908X(199705)9:3<161::AID-SMR148>3.0.CO;2-8 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Philip Wadler. 1998. The expression problem. Posted on the java genericity mailing list.Google ScholarGoogle Scholar
  47. Matthias Zenger and Martin Odersky. 2005. Independently extensible solutions to the expression problem. In Workshop on Foundations of Object-Oriented Languages (FOOL’05).Google ScholarGoogle Scholar
  48. Shriram Krishnamurthi, Matthias Felleisen, and Daniel P. Friedman. 1998. Synthesizing object-oriented and functional design to promote re-use. In Proceedings of the 12th European Conference on Object-Oriented Programming (ECCOP’98). Springer-Verlag, London, 91--113. DOI:http://dx.doi.org/10.1007/BFb0054088 Google ScholarGoogle ScholarCross RefCross Ref
  49. Bruno C. d. S. Oliveira and William R. Cook. 2012. Extensibility for the masses: Practical extensibility with object algebras. In Proceedings of the 26th European Conference on Object-Oriented Programming (ECOOP’12). Springer-Verlag, Berlin, 2--27. DOI:http://dx.doi.org/10.1007/978-3-642-31057-7_2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Mads Torgersen. 2004. The expression problem revisited—four new solutions using generics. In Proceedings of the 18th European Conference on Object-Oriented Programming. Springer-Verlag, 123--146. DOI:http://dx.doi.org/10.1007/978-3-540-24851-4_6 Google ScholarGoogle ScholarCross RefCross Ref
  51. Bruno C. d. S. Oliveira. 2009. Modular visitor components. In Proceedings of the 23rd European Conference on—Object-Oriented Programming (ECOOP’09). Springer-Verlag, Berlin, 269--293. DOI:http://dx.doi.org/10.1007/978-3-642-03013-0_13 Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Yanlin Wang and Bruno C. d. S. Oliveira. 2016. The expression problem, trivially! In Proceedings of the 15th International Conference on Modularity (MODULARITY’16). ACM, New York, 37--41. DOI:https://dx.doi.org/10.1145/2889443.2889448Google ScholarGoogle Scholar
  53. Terence Parr. 2013. The Definitive ANTLR 4 Reference (2nd ed.). Pragmatic Bookshelf, Dallas.Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd ed.). Addison Wesley, Boston.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Doug Baldwin. 2003. A compiler for teaching about compilers. In Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (SIGCSE'03), 220--223. DOI:http://dx.doi.org/10.1145/611892.611974 Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Norman Neff. 1999. OO design in compiling an oo language. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education) 31, 1, 326--330. DOI:http://dx.doi.org/10.1145/384266.299798 Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Keith Cooper and Linda Torczon. 2011. Engineering a Compiler (2nd ed.). Morgan Kaufmann, Boston.Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Herbert Schildt. 2002. C++: The Complete Reference (4th ed.). McGraw-Hill Osborne Media, New York.Google ScholarGoogle Scholar
  59. Bruno Cesar dos Santos Oliveira. 2007. Genericity, extensibility and type-safety in the VISITOR pattern. PhD Thesis, University of Oxford. Retrieved from http://www.cs.ox.ac.uk/people/bruno.oliveira/Thesis.pdf.Google ScholarGoogle Scholar
  60. Jens Palsberg and Jay C. Barry. 1998. Essence of the visitor pattern. In Proceedings of the IEEE Computer Society's International Computer Software and Applications Conference (COMPSAC'98), 9--15. DOI:http://dx.doi.org/10.1109/CMPSAC.1998.716629 Google ScholarGoogle ScholarCross RefCross Ref
  61. Joost Visser. 2001. Visitor combination and traversal control. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’01). ACM, New York, 36, 11, 270--282. DOI:http://dx.doi.org/10.1145/504311.504302 Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Vijay S. Bidve and P. Sarasu. 2016. Tool for measuring coupling in object-oriented java software. International Journal of Engineering and Technology 8, 2, 812--820.Google ScholarGoogle Scholar
  63. A. Aloysius and L. Arockiam. 2013. Maintenance effort prediction model using cognitive complexity metrics. International Journal of Advanced Research in Computer Science and Software Engineering 3, 11, 1599--1608.Google ScholarGoogle Scholar
  64. Ramanath Subramanyam and M. S. Krishnan. 2003. Empirical analysis of CK metrics for object-oriented design complexity: Implications for software defects. IEEE Transactions on Software Engineering 29, 4, 297--310. DOI:http://dx.doi.org/10.1109/TSE.2003.1191795 Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Lerina Aversano, Luigi Cerulo, and Massimiliano Di Penta. 2009. Relationship between design patterns defects and crosscutting concern scattering degree: An empirical study. IET Software 3, 5, 395--409. DOI:http://dx.doi.org/10.1049/iet-sen.2008.0105 Google ScholarGoogle ScholarCross RefCross Ref
  66. Gerardo Canfora, Luigi Cerulo, Massimiliano Di Penta, and Francesco Pacilio. 2010. An exploratory study of factors influencing change entropy. In International Conference on Program Comprehension. IEEE Computer Society, Los Alamitos, CA, 134--143. DOI:http://dx.doi.org/10.1109/ICPC.2010.32 Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Ivar Jacobson. 1992. Object Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley Professional, New York.Google ScholarGoogle Scholar
  68. Ahmed E. Hassan. 2009. Predicting faults using the complexity of code changes. In Proceedings of the 31st International Conference on Software Engineering (ICSE’09). IEEE Computer Society, 78--88. DOI:http://dx.doi.org/10.1109/ICSE.2009.5070510 Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. 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.Google ScholarGoogle Scholar
  70. A. Aloysius and L. Arockiam. 2012. Coupling complexity metric: A cognitive approach. International Journal of Information Technology and Computer Science 4, 9, 29--35. DOI:http://dx.doi.org/10.5815/ijitcs.2012.09.04 Google ScholarGoogle ScholarCross RefCross Ref
  71. S. W. A. Rizvi and Raees A. Khan. 2010. Maintainability estimation model for object-oriented software in design phase (MEMOOD). Journal of Computing 2, 4. Retrieved from http://arxiv.org/abs/1004.4447.Google ScholarGoogle Scholar
  72. Melis Dagpinar and Jens H. Jahnke. 2003. Predicting maintainability with object-oriented metrics-an empirical comparison. In Proceedings of the 10th Working Conference on Reverse Engineering (WCRE’03). 155--164. DOI:http://dx.doi.org/10.1109/WCRE.2003.1287246 Google ScholarGoogle ScholarCross RefCross Ref
  73. Jagdish Bansiya and Carl G. Davis. 2002. A hierarchical model for object-oriented design quality assessment. IEEE Transactions on Software Engineering 28, 1, 4--17. DOI:http://dx.doi.org/10.1109/32.979986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Fabrizio Fioravanti and Paolo Nesi. 2001. Estimation and prediction metrics for adaptive maintenance effort of object-oriented systems. IEEE Transactions on Software Engineering 27, 12, 1062--1084. DOI:http://dx.doi.org/10.1109/32.988708 Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. Wei Li. 1998. Another metric suite for object-oriented programming. Journal of Systems and Software 44, 2, 155--162. DOI:http://dx.doi.org/10.1016/S0164-1212(98)10052-3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Mark Lorenz and Jeff Kidd. 1994. Object-Oriented Software Metrics. Prentice Hall, Englewood Cliffs, NJ.Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. N. Kayarvizhy, S. Kanmani, and Rhymend V. Uthariaraj. 2013. High precision cohesion metric. WSEAS Transactions on Information Science and Applications 10, 3, 79--89.Google ScholarGoogle Scholar
  78. Albert L. Baker, James M. Bieman, Norman Fenton, David A. Gustafson, Austin Melton, and Robin Whitty. 1990. A philosophy for software measurement. Journal of System and Software 12, 3, 277--281. DOI:http://dx.doi.org/10.1016/0164-1212(90)90050-V Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Norman Fenton and Austin Melton. 1990. Deriving structurally based software measures. Journal of System and Software 12, 3, 177--187. DOI:http://dx.doi.org/10.1016/0164-1212(90)90038-N Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Austin C. Melton, David A. Gustafson, James M. Bieman, and Albert L. Baker. 1990. A mathematical perspective for software measures research. Software Engineering Journal 5, 5, 246--254. DOI:http://dx.doi.org/10.1049/sej.1990.0027 Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Jeff Offutt, Aynur Abdurazik, and Stephen R. Schach. 2008. Quantitatively measuring object-oriented couplings. Software Quality Journal 16, 4, 489--512. DOI:http://dx.doi.org/10.1007/s11219-008-9051-x Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. Don Coleman, Dan Ash, Bruce Lowther, and Paul Oman. 1994. Using metrics to evaluate software system maintainability. Computer 27, 8, 44--49. DOI:http://dx.doi.org/10.1109/2.303623 Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Paul Oman and Jack Hagemeister. 1994. Construction and testing of polynomials predicting software maintainability. Journal of Systems and Software 24, 3, 251--266. DOI:http://dx.doi.org/10.1016/0164-1212(94)90067-1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Amnon H. Eden and Tom Mens. 2006. Measuring software flexibility. IEE Proceedings -- Software 153, 3, 113. DOI:http://dx.doi.org/10.1049/ip-sen:20050045 Google ScholarGoogle ScholarCross RefCross Ref
  85. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. 2009. Introduction to Algorithms (3rd ed.). MIT Press, Cambridge, MA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Edwin T. Jaynes. 2003. Probability Theory: The Logic of Science, edited by Larry G. Bretthorst. Cambridge University Press, Cambridge, UK ; New York, NY. Google ScholarGoogle ScholarCross RefCross Ref
  87. Lerina Aversano, Gerardo Canfora, Luigi Cerulo, Concettina Del Grosso, and Massimiliano Di Penta. 2007. An empirical study on the evolution of design patterns. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC-FSE’07). ACM, New York, 385--394. DOI:http://dx.doi.org/10.1145/1287624.1287680 Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Meir M. Lehman, Juan F. Ramil, P. D. Wernick, D. E. Perry, and W. M. Turski. 1997. Metrics and laws of software evolution-the nineties view. In Proceedings of the 4th International Software Metrics Symposium. IEEE Computer Society, 20--32. DOI:http://dx.doi.org/10.1109/METRIC.1997.637156 Google ScholarGoogle ScholarCross RefCross Ref
  89. Jeremy Gibbons and Bruno C. d. S. Oliveira. 2009. The essence of the iterator pattern. Journal of Functional Programming 19, 3--4, 377--402. DOI:http://dx.doi.org/10.1017/S0956796809007291 Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. Robert E. Filman, Tzilla Elrad, Siobhán Clarke, and Mehmet Aksit. 2004. Aspect-Oriented Software Development. Addison-Wesley Professional, Harlow.Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Tzilla Elrad, Robert E. Filman, and Atef Bader. 2001. Aspect-oriented programming: Introduction. Communications of the ACM 44, 10, 29--32. DOI:http://dx.doi.org/10.1145/383845.383853 Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. Luigi Lavazza and Alberto Agostini. 2005. Automated measurement of UML models: An open toolset approach. Journal of Object Technology 4, 115--134. DOI:http://dx.doi.org/10.5381/jot.2005.4.4.a2 Google ScholarGoogle ScholarCross RefCross Ref
  93. Thomas VanDrunen and Jens Palsberg. 2004. Visitor-oriented programming. In Proceedings of the 11th ACM SIGPLAN International Workshop on Foundations of Object-Oriented Languages (FOOL’04).Google ScholarGoogle Scholar
  94. Markus Völter. 2003. A catalog of patterns for program generation. In Proceedings of the 8th European Conference on Pattern Languages of Programms (EuroPLoP’03), 285--320. UVK - Universitätsverlag Konstanz.Google ScholarGoogle Scholar
  95. Uwe Zdun and Mark Strembeck. 2009. Reusable architectural decisions for DSL design: Foundational decisions in DSL development. In Proceedings of 14th Annual European Conference on Pattern Languages of Programming (EuroPLoP’09). Irsee, Germany.Google ScholarGoogle Scholar

Index Terms

  1. Early Evaluation of Implementation Alternatives of Composite Data Structures Toward Maintainability

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  • Published in

                    cover image ACM Transactions on Software Engineering and Methodology
                    ACM Transactions on Software Engineering and Methodology  Volume 26, Issue 2
                    April 2017
                    136 pages
                    ISSN:1049-331X
                    EISSN:1557-7392
                    DOI:10.1145/3129287
                    Issue’s Table of Contents

                    Copyright © 2017 ACM

                    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                    Publisher

                    Association for Computing Machinery

                    New York, NY, United States

                    Publication History

                    • Published: 5 October 2017
                    • Accepted: 1 August 2017
                    • Revised: 1 July 2017
                    • Received: 1 August 2016
                    Published in tosem Volume 26, Issue 2

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • research-article
                    • Research
                    • Refereed
                  • Article Metrics

                    • Downloads (Last 12 months)8
                    • Downloads (Last 6 weeks)1

                    Other Metrics

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader