參考文獻 |
[1] 陳仲儼 與 徐子涵 (2019)。建立一個在軟體反向工程中針對 UML 結構圖形之 自動化本體品質檢測系統:以耦合度為例 , 中華民國資訊管理學報 ,第二十六巻,第 四 期, 頁 379-412。
[2] 陳仲儼 與 蔡鴻儒 (2014)。應用本體論來線上展開資訊系統潛藏與知識密集之品質需求,資訊管理學報,第二十一卷,第一期,頁45-82。
[3] 楊芝瑩 (2017)。在軟體反向工程中針對UML結構模型圖之線上品質評核系統(未出版之碩士論文)。國立中央大學,桃園市。
[4] 葉圻煒 (2019)。在軟體反向工程中應用本體論架構建立一套設計品質評核之方法-以安全性為例(未出版之碩士論文)。國立中央大學,桃園市。
[5] 鍾幸軒 (2019)。在軟體反向工程中以本體論為基礎建立一套設計品質評核之方法-以內聚力為例(未出版之碩士論文)。國立中央大學,桃園市。
[6] Abbot, D. (1993). A design complexity metric for object-oriented development. Unpublished Master’s Thesis, Department of Computer Science, Clemson University, USA.
[7] Al Dallal, J., Briand, L.C. (2010). An object-oriented high-level design-based class cohesion metric. Information and Software Technology, 52(12), 1346-1361
[8] Al Dallal, J. (2012). Fault prediction and the discriminative powers of connectivity-based object-oriented class cohesion metrics, Information and Software Technology, 54(12), 396-416.
[9] Aras, M. T., & Selçuk, Y. E. (2016). Metric and rule based automated detection of antipatterns in object-oriented software systems. In: The 7th International Conference on Computer Science and Information Technology (CSIT), 1-6. IEEE, Amman, Jordan.
[10] Assunçãoa, W.K.G., Vergilio, S.R. and, Lopez-Herrejon, R.E. (2019). Automatic extraction of product line architecture and feature models from UML class diagram variants. Information and Software Technology, 117, 106198.
[11] Bagheri, E., & Gasevic, D. (2011). Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 19(3), 579-612.
[12] Baorto, D., Li, L., & Cimino, J. J. (2009). Practical experience with the maintenance and auditing of a large medical ontology. Journal of Biomedical Informatics, 42(3), 494-503.
[13] Basili, V.R., & Caldiera, G. (1995). Improve software quality by reusing knowledge and experience. MIT Sloan Management Review, 37(1), 55-55.
[14] Bavota, G., De Lucia, A., Di Penta, M., Oliveto, R., & Palomba, F. (2015). An experimental investigation on the innate relationship between quality and refactoring. Journal of Systems and Software, 107, 1-14.
[15] Bigonha, M., Ferreira, K., Souza, P., Sousa, B.L., Januário, M., & Lima, D. (2019). The usefulness of software metric thresholds for detection of bad smells and fault prediction. Information and Software Technology, 115, 79-92.
[16] Borst, W. N., & Borst, W. N. (1997). Construction of engineering ontologies for knowledge sharing and reuse. Department of Computer Science, Subdepartment of Information Systems, University of Twente, the Netherlands.
[17] Briand, L. C., Labiche, Y., & Leduc, J. (2006). Toward the reverse engineering of UML sequence diagrams for distributed Java software. IEEE Transactions on Software Engineering, 32(9), 642-663.
[18] Broniatowski, D. A., & Tucker, C. (2017). Assessing causal claims about complex engineered systems with quantitative data: Internal, external, and construct validity. Systems Engineering, 20(6), 483-496.
[19] Brown, W.H., Malveau, R.C., McCormick, H.W., & Mowbray, T.J. (1998). AntiPatterns: Refactoring software, architectures, and projects in crisis. Canada: Robert Ipsen.
[20] Canfora, G., Penta, M.D., & Cerulo, L. (2011). Achievements and challenges in software reverse engineering. Communications of the ACM, 54(4), 142-151. New York, USA.
[21] Chen, R. C., Huang, Y. H., Bau, C. T., & Chen, S. M. (2012). A recommendation system based on domain ontology and SWRL for anti-diabetic drugs selection. Expert Systems with Applications, 39(4), 3995-4006.
[22] Chi, Y. L. (2009). Ontology-based curriculum content sequencing system with semantic rules. Expert Systems with Applications, 36(4), 7838-7847.
[23] Chidamber, S., & Kemerer, C. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20, 476-493.
[24] Chikofsky, E. J., & Cross, J. H. (1990). Reverse engineering and design recovery: A taxonomy. IEEE software, 7(1), 13-17.
[25] Chowdhurya, I. and Zulkernineb, M. (2011). Using complexity, coupling, & cohesion metrics as early indicators of vulnerabilities. Journal of Systems Architecture, 57(3), 294-313.
[26] CODEWITHC (2021). Programming: Projects & source codes. Retrieved from: https://www.codewithc.com/ (2021.06.01).
[27] Danphitsanuphan, P., & Suwantada, T. (2012). Code smell detecting tool and code smell-structure bug relationship. In: 2012 Spring Congress on Engineering and Technology, 1-5. IEEE, Xi′an, China.
[28] de Almeida Biolchini, J. C., Mian, G., Natali, A. C. C., Conte, T. U., & Travassos, G. H. (2007). Scientific research ontology to support systematic review in software engineering. Advanced Engineering Informatics, 21(2), 133-151.
[29] Di Lucca, G.A., Fasolino, A.R., & Tramontana, (2004). Reverse engineering web applications: The WARE approach. Journal of Software Maintenance and Evolution: Research and Practice, 16(1‐2), 71-101.
[30] Dingsøyr, T., Moe, B.N., Seim, A.E. (2018). Coordinating knowledge work in multiteam programs: Findings from a large-scale agile development program. Project Management Journal, 49(6), 64-77.
[31] Di Nucci, D., Palomba, F., De Rosa, G., Bavota, G., Oliveto, R., & De Lucia, A. (2017). A developer centered bug prediction model. IEEE Transactions on Software Engineering, 44(1), 5-24.
[32] Eclipse. (2019). Eclipse: The platform for innovation and collaboration. Retrieved from: https://www.eclipse.org/ (2021.06.01).
[33] Fensel, D. (2001). Ontologies. In: Ontologies, 11-18. Springer, Berlin, Germany.
[34] Fernández-Sáez, A.M., Genero, M., Chaudron, M.R., Caivano, D., & Ramos, I. (2015). Are forward designed or reverse-engineered UML diagrams more helpful for code maintenance? : A family of experiments. Information and Software Technology, 57, 644-663.
[35] Ferreira, K. A., Bigonha, M. A., Bigonha, R. S., Mendes, L. F., & Almeida, H. C. (2012). Identifying thresholds for object-oriented software metrics. Journal of Systems and Software, 85(2), 244-257.
[36] Filó, T. G., Bigonha, M., & Ferreira, K. (2015). A catalogue of thresholds for object-oriented software metrics. In: Proceedings of the first International Conference on Advances and Trends in Software Engineering (SOFTENG), 48-55, Barcelona, Spain.
[37] Fourati, R., Bouassida, N., & Abdallah, H.B. (2011). A Metric-Based Approach for Anti-pattern Detection in UML Designs. In: International Conference on Computer and Information Science, 17-33, Sanya, China.
[38] Fontana, F., Mäntylä, M., Zanoni, M., & Marino, A. (2015). Comparing and experimenting machine learning techniques for Code smell detection. Empirical Software Engineering, 21, 1143-1191.
[39] Fowler, M., & Beck, K. (1999). Refactoring - improving the design of existing code. Book, Addison Wesley object technology series.
[40] Franke, D., Elsemann, C., Kowalewski, S., & Weise, C. (2011). Reverse engineering of mobile application lifecycles. In: The 18th Working Conference on Reverse Engineering, 283-292. IEEE, Lero, Ireland.
[41] Gabriele, B., Andrea, D.L, Andrian, M., Rocco, O. (2013). Using structural and semantic measures to improve software modularization, Empirical Software Engineering, 18, 901-932.
[42] Gahalaut, A. K., & Khandnor, (2010). Reverse engineering: an essence for software re-engineering and program analysis. International Journal of Engineering Science and Technology, 2(6), 2296-2303.
[43] Genero, M., Manso, E., Visaggio, A., Canfora, G., & Piattini, M. (2007). Building measure based prediction models for UML class diagram maintainability. Empirical Software Engineering, 12(5), 517-549.
[44] Gonzalez, R. (1995). A unified metric of software complexity: Measuring productivity, quality, and value. Journal of Systems and Software, 29, 17-37.
[45] Gruber, T.R. (1993). A translation approach to portable ontology specifications. Knowledge Acquisition, 5(2), 199-220.
[46] Guarino, N. (1998). Formal ontology in information systems. In: Proceedings of the first International Conference, June 6-8, Trento, Italy
[47] Ibrahim, R., Ahmed, M., Nayak, R., & Jamel, S. (2020). Reducing redundancy of test cases generation using code smell detection and refactoring. Journal of King Saud University-Computer and Information Sciences, 32, 367-374.
[48] IntelliJ IDEA (2021) IntelliJ IDEA: The capable & ergonomic Java IDE by JetBrains. Retrieved from: https://www.jetbrains.com/idea/ (2021.06.01).
[49] Jain, A., Nandakumar, K., & Ross, A. (2005). Score normalization in multimodal biometric systems. Pattern Recognition, 38(12), 2270-2285.
[50] Jakhar, A.K., Rajnish, K. (2016). A cognitive measurement of complexity and comprehension for object-oriented code. International Journal of Computer, Electrical, Automation, Control and Information Engineering, 10(3), 643-650.
[51] Kang, D., Xu, B., Lu, J., and Chu, W. (2004). A complexity measure for ontology based on UML. In: Proceedings of the 10th IEEE International Workshop on Future Trends of Distributed Computing Systems (FTDCS), 222-228. IEEE, Suzhou, China.
[52] Karout, R. and Awasthi, A. (2017). Improving software quality using six sigma DMAIC-based approach: A case study. Business Process Management Journal, 23(4), 842-856.
[53] Keschenau, M. (2004, October). Reverse engineering of UML specifications from Java programs. In: Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), 326-327. ACM, Vancouver, BC, Canada.
[54] Kitchenham, B., Pickard, L. and Pfleeger, S.L. (1995) Case studies for method and tool evaluation, IEEE Software, 12(4), 52-62.
[55] Kollmann, R., Selonen, P., Stroulia, E., Systa, T., & Zundorf, A. (2002). A study on the current state of the art in tool-supported UML-based static reverse engineering. In: Proceedings of the Ninth Working Conference on Reverse Engineering, 22-32. IEEE, Richmond, VA, USA.
[56] Korshunova, E., Petkovic, M., Van Den Brand, M. G. J., & Mousavi, M. R. (2006). CPP2XMI: Reverse engineering of UML class, sequence, and activity diagrams from C++ source code. In: The 13th Working Conference on Reverse Engineering, 297-298. IEEE, Benevento, Italy.
[57] Kraut, R.E., & Streeter, L.A. (1995). Coordination in software development. Communications of the ACM, 38(3), 69-82. ACM, University of Vermont, USA.
[58] Lacerda, G., Petrillo, F., Pimenta, M., & Guéhéneuc, Y. G. (2020). Code smells and refactoring: A tertiary systematic review of challenges and observations. Journal of Systems and Software, 167, 110610.
[59] Lange, C.F.J., Chaudron, M.R.V., & Muskens, J. (2006). In practice: UML software architecture and design description. IEEE Software, 23(2), 40-46.
[60] Lanza, M., & Marinescu, R. (2010). Object-oriented metrics in practice: Using software metrics to characterize, evaluate, and improve the design of object-oriented systems (1st edition). Berlin, Germany: Springer.
[61] Li, W., & Shatnawi, R. (2007). An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution. Journal of Systems and Software, 80, 1120-1128.
[62] Lias Webdesign. (2018). ModelGoon. Retrieved from: http://www.modelgoon.org/ (2021.06.01).
[63] Liu, Z. (2011). A method of SVM with normalization in intrusion detection. Procedia Environmental Sciences, 11, 256-262.
[64] Lu, T., Liu, C., Duan, H., & Zeng, Q. (2020). Mining component-based software behavioral models using dynamic analysis. IEEE Access, 8, 68883-68894.
[65] Maedche, A. and Staab, S. (2001). Ontology learning for the semantic web. IEEE Intelligent systems, 16(2), 72-79.
[66] Malhotra, R. (2016). Empirical research in software engineering: Concepts, analysis, and applications. Book, Chapman and Hall/CRC Press.
[67] Marinescu, R. (2001). Detecting design flaws via metrics in object-oriented systems. In: The 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS), 173-182. IEEE, Santa Barbara, CA, USA.
[68] Martinez-Cruz, C., Blanco, I. J., & Vila, M. A. (2012). Ontologies versus relational databases: are they so different? A comparison. Artificial Intelligence Review, 38(4), 271-290
[69] McCabe, T. J. (1976). A complexity measure. IEEE Transactions on Software Engineering, 4, 308-320.
[70] McGuinness, D. L., & Van Harmelen, F. (2004). OWL web ontology language overview. W3C Recommendation, 10(10), 2004.
[71] Mens, T., & Tourwé, T. (2004). A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2), 126-139.
[72] MetricsReloaded (2021). MetricsReloaded - plugin for IntelliJ IDEs | JetBrains. Retrieved from: https://plugins.jetbrains.com/plugin/93-metricsreloaded (2021.06.01).
[73] Microsoft. (2018). Microsoft Visual Studio: Microsoft. Retrieved from: https://www.visualstudio.com/ (2021.06.01).
[74] Milovančević, M., Marinović, J. S., Nikolić, J., Kitić, A., Shariati, M., Trung, N. T., & Khorami, M. (2019). UML diagrams for dynamical monitoring of rail vehicles. Physica A: Statistical Mechanics and its Applications, 531, 121169.
[75] Misra, S., Adewumi, A., Fernández-Sanz, L., & Damaševičius, R. (2018). A suite of object oriented cognitive complexity metrics. IEEE Access, 6, 8782-8796.
[76] Misra, S., & Akman, I. (2008). Weighted class complexity: A measure of complexity for object oriented system. Journal of Information Science and Engineering, 24, 1689-1708.
[77] Mkaouer, M. W., Kessentini, M., Cinnéide, M. Ó., Hayashi, S., & Deb, K. (2017). A robust multi-objective approach to balance severity and importance of refactoring opportunities. Empirical Software Engineering, 22(2), 894-927.
[78] Moha, N., Guéhéneuc, Y. G., Le Meur, A. F., & Duchien, L. (2008, March). A domain analysis to specify design defects and generate detection algorithms. In: International Conference on Fundamental Approaches to Software Engineering, 276-291. Springer, Berlin, Heidelberg.
[79] Moha, N., Guéhéneuc, Y., Meur, A.L., Duchien, L., & Tiberghien, A. (2009). From a domain analysis to the specification and detection of code and design smells. Formal Aspects of Computing, 22, 345-361.
[80] Moha, N., Guéhéneuc, Y., Duchien, L., & Meur, A.L. (2010). DECOR: A method for the specification and detection of code and design smells. IEEE Transactions on Software Engineering, 36, 20-36.
[81] Noy, N.F. and McGuinness, D.L. (2001). Ontology development 101: A guide to creating your first ontology. Stanford Knowledge Systems Laboratory Technical Report. Stanford, CA, USA.
[82] Nuñez-Varela, A. S., Pérez-Gonzalez, H. G., Martínez-Perez, F. E., & Soubervielle-Montalvo, C. (2017). Source code metrics: A systematic mapping study. Journal of Systems and Software, 128, 164-197.
[83] ObjectAid. (2018). the ObjectAid UML explorer for Eclipse. Retrieved from: http://objectaid.com (2021.06.01).
[84] Osman, H. and Chaudron, M.R. (2018). Correctness and completeness of CASE tools in reverse engineeringsource code into UML model. GSTF Journal on Computing (JoC), 2(1), 193-201.
[85] Ozkaya, M., & Erata, F. (2020). A survey on the practical use of UML for different software architecture viewpoints. Information and Software Technology, 121, 106275.
[86] Palomba, F., Bavota, G., Penta, M.D., Fasano, F., Oliveto, R., & Lucia, A. (2017). On the diffuseness and the impact on maintainability of code smells: A large scale empirical investigation. Empirical Software Engineering, 23, 1188-1221.
[87] Piveta, E. K. (2009). Improving the search for refactoring opportunities on object-oriented and aspect-oriented software. Thesis, Universidade Federal do Rio Grande do Sul. Instituto de Informática. Programa de Pós-Graduação em Computação.
[88] Qamar, N., & Malik, A.A. (2020). Impact of design patterns on software complexity and size. Mehran University Research Journal of Engineering and Technology, 39(2), 342-352, Jamshoro, Pakistan.
[89] Radjenović, D., Heričko, M., Torkar, R., & Živkovič, A. (2013). Software fault prediction metrics: A systematic literature review. Information and Software Technology, 55(8), 1397-1418.
[90] Raibulet, C., Fontana, F. A., & Zanoni, M. (2017). Model-driven reverse engineering approaches: A systematic literature review. IEEE Access, 5, 14516-14542.
[91] Rakić, G., Tóth, M., & Budimac, Z. (2020). Toward recursion aware complexity metrics. Information and Software Technology, 118, 106203.
[92] Rekoff, M.G. (1985). On reverse engineering. IEEE Transactions on System, Man, and Cybernetics, 2(4), 244-252.
[93] Rhmann, W., Pandey, B., Ansari, G., & Pandey, D.K. (2020). Software fault prediction based on change metrics using hybrid algorithms: An empirical study. Journal of King Saud University-Computer and Information Sciences, 32(4), 419-424.
[94] Sarkar, M. K., Chatterjee, T., & Mukherjee, D. (2013). Reverse engineering: An analysis of static behaviors of object oriented programs by extracting UML class diagram. International Journal of Advanced Computer Research, 3(3), 135.
[95] Sheldon, F. and Chung, H. (2006). Measuring the complexity of class diagrams in reverse engineering. Journal of Software Maintenance and Evolution: Research and Practice, 18, 333–350.
[96] Shobowale, K. O. (2020). Ontology in medicine as a database management system. Ontology‐Based Information Retrieval for Healthcare Systems, 69-90.
[97] Shull, F., Singer, J., & Sjøberg, D. I. (2007). Guide to advanced empirical software engineering. Book, Springer Science & Business Medi.
[98] Snae, C., & Brueckner, M. (2008). Personal health assistance service expert system (PHASES). International Journal of Biological and Medical Sciences, 1(2), 109-112.
[99] Sultana, K. Z., Anu, V., & Chong, T. Y. (2020). Using software metrics for predicting vulnerable classes and methods in Java projects: A machine learning approach. Journal of Software: Evolution and Process, 33(3), e2303.
[100] Systa, T., Yu, P., & Muller, H. (2000). Analyzing Java software by combining metrics and program visualization. In: The Fourth European Conference on Software Maintenance and Reengineering, 199-208. IEEE, Zurich, Switzerland.
[101] Tokuda, L., & Batory, D. (2001). Evolving object-oriented designs with refactorings. Automated Software Engineering, 8(1), 89-120.
[102] Trochim, W. M., & Donnelly, J. (2001). Research methods knowledge base (Vol. 2). Book, Atomic Dog Pub.
[103] Tsantalis, N., Mansouri, M., Eshkevari, L., Mazinanian, D., Dig, D. (2018). Accurate and efficient refactoring detection in commit history. In: The 40th International Conference on Software Engineering (ICSE), 483-494. IEEE/ACM, Gothenburg, Sweden.
[104] Vale, G., Fernandes, E., & Figueiredo, E. (2018). On the proposal and evaluation of a benchmark-based threshold derivation method. Software Quality Journal, 27, 275-306.
[105] Wongthongtham, P., Chang, E., Dillon, T., & Sommerville, I. (2009). Development of a software engineering ontology for multisite software development. IEEE Transactions on Knowledge and Data Engineering, 21(8), 1205-1217.
[106] Zhao, L., & Hayes, J. (2006). Predicting classes in need of refactoring: An application of static metrics. In: Proceedings of the 2nd International Participative Research Laboratory for Multimedia and Multilingual Information Systems Evaluation (PROMISE) Workshop, Philadelphia, Pennsylvania, USA.
[107] Zuse, H. (1991). Software complexity: Measures and methods (Vol. 4). Book, Walter de Gruyter GmbH & Co KG. |