About me
About Suhaib Mujahid
A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.
About Suhaib Mujahid
Published in Proceedings of the 4th IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft), 2017 - PDF
Published in Proceedings of the 11th Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2017 - PDF
Published in Proceedings of the 11th Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2017 - PDF
Published in Proceedings of the 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2018 - PDF
Published in Empirical Software Engineering Journal (EMSE), 2018 - PDF
Published in IEEE Transactions on Software Engineering Journal (TSE), 2019 - PDF
Published in Proceedings of the 41st IEEE/ACM International Conference on Software Engineering (ICSE), 2019 - PDF
Published in IEEE Transactions on Software Engineering Journal (TSE), 2020 - PDF
Published in Empirical Software Engineering Journal (EMSE), 2020 - PDF
Published in Proceedings of the 17th International Conference on Mining Software Repositories (MSR), 2020 - PDF
Published in IEEE Transactions on Software Engineering Journal (TSE), 2021 - PDF
Published in Empirical Software Engineering Journal (EMSE), 2021 - PDF
Published in Empirical Software Engineering Journal (EMSE), 2021 - PDF
Published in IEEE Transactions on Engineering Management Journal (TEM) - Special Issue on Collaboration and Innovation Dynamics in Software Ecosystems, 2021 - PDF
Published:
Abstract: Due to its increasing complexity, today's software systems are frequently built by leveraging reusable code in the form of libraries and packages. Software ecosystems (e.g., npm) are the primary enablers of this code reuse, providing developers with a platform to share their own and use others' code. These ecosystems evolve rapidly: developers add new packages every day to solve new problems or provide alternative solutions, causing obsolete packages to decline in their importance to the community. Developers should avoid depending on packages in decline, as these packages are reused less over time and may become less frequently maintained. However, current popularity metrics are not fit to provide this information to developers. In this paper, we propose a scalable approach that uses the package's centrality in the ecosystem to identify packages in decline. We evaluate our approach with the npm ecosystem and show that the trends of centrality overtime can correctly distinguish packages in decline with an ROC-AUC of 0.9. The approach can capture 87% of the packages in decline, on average 18 months before the trend is shown in currently used package popularity metrics. We implement this approach in a tool that can be used to augment npms metrics and help developers avoid packages in decline when reusing packages from npm.
Teaching Assistant, Concordia University, Department of Computer Science and Software Engineering, 2018
A large portion of the course deliverables is a course research project. Students are expected to work on the course project in groups.
Teaching Assistant, Concordia University, Department of Computer Science and Software Engineering, 2020
Students are assigned to groups, and work together under faculty supervision to solve a complex interdisciplinary design problem.