Crowdsourced Machine Learning Based Recommender for Software Design Patterns
Software technology has become an essential part of human lives today. The role of software Engineers in making this technology as success is very fundamental. In software Engineering, the toughest stage is to design software as there is no particular rule or formula to covert requirements into design representation. A designer designs software using skills, critical thinking ability and previous experience only. To make this process easy, the design patterns came into existence which are the solutions that can be used repetitively to solve design problems. There have been several pieces of research presented regarding design Patterns but it is hard to find research regarding how the patterns are perceived and used in industries today and what nature of application uses which specific patterns. This paper uses a crowdsourced approach to acquire the finest practices that are being used in industries today including which quality attributes are affected most by the implementation of these patterns and which patterns are suitable for what type of applications. It also uses a machine learning supervised algorithm (Matchbox Recommender) to predict suitable design pattern for different nature of applications.
. S. Hussain, J. Keung, A. A. Khan, and K. E. Bennin, “A Methodology to Automate the Selection of Design Patterns,” 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC), 2016.
. B. B. Mayvan, A. Rasoolzadegan, and Z. G. Yazdi, “The state of the art on design patterns: A systematic mapping of the literature,” Journal of Systems and Software, vol. 125, pp. 93–118, 2017
. F. Khomh and Y.-G. Gueheneuc, “Design patterns impact on software quality: Where are the theories?,” 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2018
. M. N. Riaz, “Impact of software design patterns on the quality of software: A comparative study,” 2018 International Conference on Computing, Mathematics and Engineering Technologies (iCoMET), 2018.
. A. Sarı, A. Tosun, and G. I. Alptekin, “A systematic literature review on crowdsourcing in software engineering,” Journal of Systems and Software, vol. 153, pp. 200–219, 2019..
. B. Lin, “Crowdsourced software development and maintenance,” Proceedings of the 40th International Conference on Software Engineering Companion Proceeedings - ICSE 18, 2018.
. B. Walter and T. Alkhaeir, “The relationship between design patterns and code smells: An exploratory study,” Information and Software Technology, vol. 74, pp. 127–142, 2016.
. F. Khomh and Y.-G. Gueheneuce, “Do Design Patterns Impact Software Quality Positively?,” 2008 12th European Conference on Software Maintenance and Reengineering, 2008
. Gautam, Shikha, and Brijendra Singh. "Assessing the Theoretical Impact of Design Patterns on Software Quality." Software Quality Professional 21.1 (2018).
. Pressman, Roger S. Software engineering: a practitioner's approach. Palgrave macmillan, 2005.
. D. Yu, Z. Zhou, and Y. Wang, “Crowdsourcing Software Task Assignment Method for Collaborative Development,” IEEE Access, vol. 7, pp. 35743–35754, 2019.
. A. Sarı, A. Tosun, and G. I. Alptekin, “A systematic literature review on crowdsourcing in software engineering,” Journal of Systems and Software, vol. 153, pp. 200–219, 2019
. R. Qiao, S. Yan, and B. Shen, “A Reinforcement Learning Solution to Cold-Start Problem in Software Crowdsourcing Recommendations,” 2018 IEEE International Conference on Progress in Informatics and Computing (PIC), 2018.
. A. J. Paramita and M. Z. C. Candra, “CODECOD: Crowdsourcing Platform for Code Smell Detection,” 2018 5th International Conference on Data and Software Engineering (ICoDSE), 2018
. X. Zhang, B. Gong, H. Ni, Z. Liang, and J. Su, “Identifying Participants Characteristics Influencing Participant Estimation in Knowledge-Intensive Crowdsourcing,” 2019 8th International Conference on Industrial Technology and Management (ICITM), 2019.
. J. Wang, S. Wang, J. Chen, T. Menzies, Q. Cui, M. Xie, and Q. Wang, “Characterizing Crowds to Better Optimize Worker Recommendation in Crowdsourced Testing,” IEEE Transactions on Software Engineering, pp. 1–1, 2019.
. E. Gamma, R. Helm, and R. Johnson, Design patterns elements of reusable object oriented software. Reading: Addison Wesley, 1998.
. Claude Y. Laporte and Alain April. “Software Quality Assurance (1st ed.)”. Wiley-IEEE Computer Society Pr, 2015.
. S. M. H. Hasheminejad and S. Jalili, “Design patterns selection: An automatic two-phase method,” Journal of Systems and Software, vol. 85, no. 2, pp. 408–424, 2012.
. S. Hussain, J. Keung, and A. A. Khan, “Software design patterns classification and selection using text categorization approach,” Applied Soft Computing, vol. 58, pp. 225–244, 2017
. R. Aliady and S. Alyahya, “Crowdsourced Software Design Platforms: Critical Assessment,” Journal of Computer Science, vol. 14, no. 4, pp. 546–561, Jan. 2018.
. Portugal, P. Alencar, and D. Cowan, “The use of machine learning algorithms in recommender systems: A systematic review,” Expert Systems with Applications, vol. 97, pp. 205–227, 2018.
. S. Belouafa, F. Habti, S. Benhar, B. Belafkih, S. Tayane, S. Hamdouch, A. Bennamara, and A. Abourriche, “Statistical tools and approaches to validate analytical methods: methodology and practical examples★,” International Journal of Metrology and Quality Engineering, vol. 8, p. 9, 2017
. T. Redkar and T. Guidici, Windows Azure Platform. Berkeley, CA: Apress, 2011.
. S. Unankard, “Prediction of Re-tweeting Activities in Social Networks Based on Event Popularity and User Connectivity,” Machine Learning and Data Mining in Pattern Recognition Lecture Notes in Computer Science, pp. 357–368, 2018.
. D. H. Stern, R. Herbrich, and T. Graepel, “Matchbox,” Proceedings of the 18th international conference on World wide web - WWW 09, 2009.
. Using SPSS to Perform Statistical Analyses,” An Introductory Guide to SPSS® for Windows®, pp. 61–90.
. Krzywinski, Martin, and Naomi Altman. "Points of significance: Significance, P values and t-tests." (2013): 1041.
. N. Pathan, Q. Ali, S. Iftikhar, G. Batool, and I. Memon, “Personality Type Recommendation System using Crowdsourcing,” 2019 2nd International Conference on Computing, Mathematics and Engineering Technologies (iCoMET), 2019.
. S. Taj, Q. Arain, I. Memon, and A. Zubedi, “To apply Data Mining for Classification of Crowd sourced Software Requirements,” Proceedings of the 2019 8th International Conference on Software and Information Engineering - ICSIE 19, 2019.
. Z. U. Kamangar, U. A. Kamangar, Q. Ali, I. Farah, S. Nizamani, and T. H. Ali, “To enhance Effectiveness of Crowdsource Software Testing by applying Personality Types,” Proceedings of the 2019 8th International Conference on Software and Information Engineering - ICSIE 19, 2019.
. S. S. Memon, A. S. Shah, I. H. Memon, Q. A. Arain, G. M. Morio, and W. A. Channa, “To Explore the Project Management towards Academic Discipline and Practical Approaches,” ENGINEERING SCIENCE AND TECHNOLOGY INTERNATIONAL RESEARCH JOURNAL, VOL.3, NO.3, Sep. 2019.
. I. Memon, H. Fazal, R. A. Shaikh, Q. A. Arain, and T. K. Khatri, “Big data, Cloud and 5G networks create smart and intelligent world: A survey,” University of Sindh Journal of Information and Communication Technology , pp. 185–192, 2019.
. K. N. Soomro, rabeea jaffri, I. Farah, and S. A. undefined, “Predictive analysis for employee churn in software industry using exploratory data analysis,” 1st international conference on computational sciences and technologies, Mehran University of Engineering and technology, 2019.
Copyright (c) 2020 International Journal of Computer (IJC)
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Authors who submit papers with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).
- By submitting the processing fee, it is understood that the author has agreed to our terms and conditions which may change from time to time without any notice.
- It should be clear for authors that the Editor In Chief is responsible for the final decision about the submitted papers; have the right to accept\reject any paper. The Editor In Chief will choose any option from the following to review the submitted papers:A. send the paper to two reviewers, if the results were negative by one reviewer and positive by the other one; then the editor may send the paper for third reviewer or he take immediately the final decision by accepting\rejecting the paper. The Editor In Chief will ask the selected reviewers to present the results within 7 working days, if they were unable to complete the review within the agreed period then the editor have the right to resend the papers for new reviewers using the same procedure. If the Editor In Chief was not able to find suitable reviewers for certain papers then he have the right to reject the paper.
- Author will take the responsibility what so ever if any copyright infringement or any other violation of any law is done by publishing the research work by the author
- Before publishing, author must check whether this journal is accepted by his employer, or any authority he intends to submit his research work. we will not be responsible in this matter.
- If at any time, due to any legal reason, if the journal stops accepting manuscripts or could not publish already accepted manuscripts, we will have the right to cancel all or any one of the manuscripts without any compensation or returning back any kind of processing cost.
- The cost covered in the publication fees is only for online publication of a single manuscript.