Hussein Alrubaye

Hussein Alrubaye
  • Doctor of Philosophy
  • Senior Software Engineer at Microsoft

About

17
Publications
6,293
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
240
Citations
Introduction
Hussein Alrubaye working as a Senior Software Engineer at Microsoft Corporation. I am working on research in machine learning and AI to build tools and algorithms that automate the process of API Migration. I have 8 successful apps in Google and iOS stores with millions of users who are using my apps. Also, I am working as software developer for 9 years with .NET, C++, and web security, and have a successfully paid tutorial in Udemy. Also, I got Microsoft Most Valuable Professional.
Current institution
Microsoft
Current position
  • Senior Software Engineer

Publications

Publications (17)
Preprint
Full-text available
Modern code review is a common and essential practice employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure conformance with coding standards. During code review, developers may inspect and discuss various changes including refactoring activities before merging code changes in the codebase. To...
Chapter
Full-text available
The process of migration between different third-party software libraries, while being an typical library reuse practice, is complex, time consuming and error-prone. Typically, during a library migration process, developers opt to replace methods from a retired library with other methods from a new library without altering the software behavior. Ho...
Article
Full-text available
Bug assignment is a burden for projects receiving many bug reports. To automate the process of assigning bug reports to the appropriate developers, several studies have relied on combining natural language processing and information retrieval techniques to extract two categories of features. One of these categories targets developers who have fixed...
Preprint
Full-text available
Third-party software libraries reuse is becoming a common practice in software engineering. With the exponentially growing number of available and competing libraries in software ecosystems, migrating from one library to another is widely acknowledged to be a complex, time consuming and error prone activity. In this paper, we introduce MigrationMap...
Article
Full-text available
The manual migration between different third-party libraries represents a challenge for software developers. Developers typically need to explore both libraries Application Programming Interfaces, along with reading their documentation, in order to locate the suitable mappings between replacing and replaced methods. In this paper, we introduce RAPI...
Preprint
Full-text available
The migration process between different third-party software libraries is hard, complex and error-prone. Typically, during a library migration process, developers opt to replace methods from the retired library with other methods from a new library without altering the software behavior. However, the extent to which such a migration process to new...
Preprint
Full-text available
In this paper we introduce, MigrationMiner, an automated tool that detects code migrations performed between Java third-party library. Given a list of open source projects, the tool detects potential library migration code changes and collects the specific code fragments in which the developer replaces methods from the retired library with methods...
Preprint
Full-text available
The manual migration between different third-party libraries represents a challenge for software developers. Developers typically need to explore both libraries Application Programming Interfaces, along with reading their documentation, in order to locate the suitable mappings between replacing and replaced methods. In this paper, we introduce RAPI...
Preprint
Full-text available
The migration process between different third-party libraries is hard, complex and error-prone. Typically, during a library migration, developers need to find methods in the new library that are most adequate in replacing the old methods of the retired library. This process is subjective and time-consuming as developers need to fully understand the...
Preprint
Full-text available
Teachers face several challenges when presenting the fundamental concepts of programming in the classroom. Several tools are introduced to give a visual dimension to support the learning process. These tools rely on code blocks, easily manipulated in a plug and play fashion, to build a program. These block-based tools intend to familiarize students...
Preprint
Full-text available
Teachers face several challenges when presenting the fundamental concepts of programming in the classroom. Several tools are introduced to give a visual dimension to support the learning process. These tools rely on code blocks, easily manipulated in a plug and play fashion, to build a program. These block-based tools intend to familiarize students...

Network

Cited By