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.
- Ian Sommerville. 2010. Software Engineering (9th ed.). Addison-Wesley, Boston.Google ScholarDigital Library
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education.Google ScholarDigital Library
- Roger Pressman. 2010. Software Engineering: A Practitioner's Approach (7th ed.). McGraw-Hill, New York.Google ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- Robert L. Glass. 2002. Software Engineering: Facts and Fallacies. Addison-Wesley Longman Publishing Co., Boston.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- Robert Ian Mackie. 2002. Object-Oriented Methods and Finite Element Analysis. Saxe-Coburg Publications, Kippen, Stirling, UK.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Norman E. Fenton and Shari Lawrence Pfleeger. 1998. Software Metrics: A Rigorous and Practical Approach (2nd ed.). PWS Publishing Co., Boston.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Walter Bartosz and Martenka Pawel. 2010. Hierarchical model for evaluating software design quality. E-Informatica Software Engineering Journal 4, 1, 21--30.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Rikard Land. 2002. Measurements of software maintainability. In Proceedings of ARTES Graduate Student Conference (Neither Reviewed nor Officially Published) (ARTES’02).Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Philip Wadler. 1998. The expression problem. Posted on the java genericity mailing list.Google Scholar
- Matthias Zenger and Martin Odersky. 2005. Independently extensible solutions to the expression problem. In Workshop on Foundations of Object-Oriented Languages (FOOL’05).Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- Terence Parr. 2013. The Definitive ANTLR 4 Reference (2nd ed.). Pragmatic Bookshelf, Dallas.Google ScholarDigital Library
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd ed.). Addison Wesley, Boston.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Keith Cooper and Linda Torczon. 2011. Engineering a Compiler (2nd ed.). Morgan Kaufmann, Boston.Google ScholarDigital Library
- Herbert Schildt. 2002. C++: The Complete Reference (4th ed.). McGraw-Hill Osborne Media, New York.Google Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Ivar Jacobson. 1992. Object Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley Professional, New York.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Mark Lorenz and Jeff Kidd. 1994. Object-Oriented Software Metrics. Prentice Hall, Englewood Cliffs, NJ.Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. 2009. Introduction to Algorithms (3rd ed.). MIT Press, Cambridge, MA.Google ScholarDigital Library
- Edwin T. Jaynes. 2003. Probability Theory: The Logic of Science, edited by Larry G. Bretthorst. Cambridge University Press, Cambridge, UK ; New York, NY. Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Robert E. Filman, Tzilla Elrad, Siobhán Clarke, and Mehmet Aksit. 2004. Aspect-Oriented Software Development. Addison-Wesley Professional, Harlow.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
Index Terms
- Early Evaluation of Implementation Alternatives of Composite Data Structures Toward Maintainability
Recommendations
Toward a Software Testing and Reliability Early Warning Metric Suite
ICSE '04: Proceedings of the 26th International Conference on Software EngineeringThe field reliability is measured too late for affordablyguiding corrective action to improve the quality of thesoftware. Software developers can benefit from an earlywarning of their reliability while they can still affordablyreact. This early warning ...
A Software Maintainability Evaluation Methodology
This paper describes a conceptual framework of software maintainability and an implemented procedure for evaluating a program's documentation and source code for maintainability characteristics. The evaluation procedure includes use of closed-form ...
On Automatically Collectable Metrics for Software Maintainability Evaluation
IWSM-MENSURA '14: Proceedings of the 2014 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product MeasurementIn our work with industry partners as well as with students in seminars we noticed that many people often stick to "aged" metrics when they want to evaluate the maintainability of software. They consider these metrics for this purpose without second ...
Comments