Loading...
Search for: heydarnoori--abbas
0.128 seconds

    Developing a Set of Patterns for Migrating Applications into the Cloud

    , M.Sc. Thesis Sharif University of Technology Balalaie, Armin (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Cloud computing offers its customers and organizations many advantages such as turning CAPEX to OPEX in the business side, and enabling scalability and fast and easy resource provisioning in the technical side. Using these features, companies can benefit from deployment in the cloud at a lower cost, and at the same time, focus more on their business. Therefore, many organizations are migrating their vital systems to the cloud because of its many benefits. Research on this topic has been started a few years ago, and since then, many approaches including architecture-based, model-driven, and SOA-based approaches have been proposed. Some of these solutions are just adaptations of the... 

    Exception Fault Localization in Smart Mobile Applications

    , M.Sc. Thesis Sharif University of Technology Mirzaei, Hamed (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    In software programs, most of the time, there is a chance of error, even though they are tested carefully. Finding error-related pieces of code is one of the most complicated tasks and it can make incorrect results if done manually. Semi-automated and fully-automated methods have been introduced to overcome this issue. The rapid growth of developing smart mobile applications (SMAs) in recent years, competition among the development teams and many other factors have increased the chance of errors and hence, the quality of these applications have reduced. There are two approaches to test SMAs in order to reach a high degree of quality: (1) using existing traditional methods and adapting them... 

    Source Code Summarization Using Crowdsourcing

    , M.Sc. Thesis Sharif University of Technology Badihi, Sahar (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    During software evolution and maintenance, developers deal with various challenges, such as locating features, fixing bugs, and adding new features. One of the first steps to perform most of the software maintenance activities, such as updating features or fixing bugs, is to have a relatively good understanding of the program’s source code which is often written by other developers. A code summary is a description about a program’s entities (e.g., its methods) which helps developers have a better comprehension of the code in a shorter period of time. However, generating code summaries can be a challenging task. To mitigate this problem, in this thesis, we introduce CrowdSummarizer, a code... 

    APIS’ Evolution Comprehension Via Analyzing the Q&As in the Stack Overflow Website

    , M.Sc. Thesis Sharif University of Technology Taghavi, Samira (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Client applications are often developed with the help of software frameworks in order to reduce the development costs and to increase the software quality. However, frameworks may evolve to add new features or to fix bugs, and thus, their APIs may change at the same time. Nevertheless, these API changes can cause the client applications to not work properly. New frameworks typically use the deprecation mechanism to reduce this effect, but their documents often do not provide sufficient information. Consequently, deprecated APIs usages remain unresolved in client applications. To tackle this issue, we introduce ARFES (Automated Recommender of Framework Evolution Solutions) that provides... 

    A Mobile Application Recommender System Based on User's Reviwes

    , M.Sc. Thesis Sharif University of Technology Mossein, Mobasher (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    The ever increasing growth of smart phones and their applications have led to the emergence of various platforms, i.e. online stores, for distributing them among users and providing a way for customers and developers to interact with each other. In recent years, these stores have turned into an important form of software repositories, which brought out new challenges for researchers. One of these challenges is the task of searching for suitable applications and providing simple access to them for users. Pervious work has focused on the relationships between users and applications’ contents. Among the shortcomings of these approaches, is not considering users’ reviews of applications and what... 

    Detecting Similar Android Apps Based on Users’ Reviews and the Source Code

    , M.Sc. Thesis Sharif University of Technology Abedini, Yasaman (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Increasing popularity and use of smartphones has led to rapid growth in number of mobile applications. With the increasing number of available apps in app stores, some of them may have many similarities to each other in functional aspects. Detecting similar apps among a large number of different applications is an important and difficult problem which is useful in a variety of applications, such as app recommendation, comparing competitor apps, app search engines, etc. In order to investigate the functional similarities between applications, high-level and low-level characteristics can be used. With using the high-level characteristics, app functionality features can be extracted from... 

    Recommending Aspect Changes for Mobile Apps Via Mining Users’ Reviews

    , M.Sc. Thesis Sharif University of Technology Mehralian, Forough (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Dental implants should be biocompatible. This ability cause bone growth beside implant and increases stability of implant. Manufactoring method and materials used in implants are main parameters affectig biocompatibility of implants. Fabrication of functionally graded structures is a novel method to increase biocompatibility. Stress shielding is one of the main causes of failures in current dental implants. This phenomenon takes place due to different young modulus of dental implants and host bone. Pouros structures remedial this problem and implant’s young modulus comes closer to host bone. The aim of this project is to study feasibily of fabrication of functionally graded titanium dental... 

    Extracting Bugs from Mobile Apps Users’ Reviews and Localizing Bug Referenced in Source Code Files

    , M.Sc. Thesis Sharif University of Technology Ghanadi, Fatemeh (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    In recent years, with the rise of the smartphones, mobile apps have seen unprecedented growth and their stores have gained popularity among users. The direct connection of users to these stores and the ability to comment on the applications, have made them big repositories of information. In particular, user reviews provide developers with valuable information on strengths and weaknesses of application and users' problems when using it, which can serve as a guide to improve their application.There are a lot of research on exploring user reviews but few have been trying to find a link between reviews and source code of application. In this research, for the first time, all of the code... 

    Code Summarization in Event-Driven Programs

    , M.Sc. Thesis Sharif University of Technology Aghamohammadi, Alireza (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Developers have been spending a lot of time on program comprehension during software evolution. Program comprehension reduces the cost and the software development time and increases maintainability of a program. However, the lack of documentation makes this process exhausting. Source code summarization is one of the existing solutions to help developers understand a program. Source code summarization gives an opportunity for the developers to better understand the source code by spending less time. There are a lot of approaches for source code summarization. For instance, exploiting knowledge of the crowd, information retrieval, deep neural networks, or using eye tracking of developers... 

    Automated Type and Priority Prediction of Issue Reports in Software Repositories

    , M.Sc. Thesis Sharif University of Technology Akbari, Kiana (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Proper documentation plays an important role in successful software management and maintenance. Software repositories such as GitHub host an enormous number of software entities with various features. Developers collaboratively implement, use, and share these repositories in the community. Software repositories use issue tracking systems to keep track of issue reports, both to manage workload and document the highlight of teams’ effort. An issue report can contain a request for new features, a reported problem, or simply a question by users of a software product. As the number of these issues increases, it becomes harder to manage them. Github provides labels for tagging issues, however,... 

    Categorization of Software Repositories in Version Control Systems

    , M.Sc. Thesis Sharif University of Technology Nejati, Mahtab (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Developers often seek to find projects that match their topics of interest in version control systems with the goal of reusing code, extracting similar requirements, learning, and more. However, due to the widespread use of these systems, the number of projects maintained on them is huge and ever-increasing. This has made it difficult to identify projects based on their topics. GitHub, as a prominent version control system, with the aim of facilitating access to projects based on their topics, has provided the possibility of assigning software topics to projects in the form of free-text tags for users. Assigning a correct and complete set of topics to software projects allows programmers to... 

    Automated Release Note Generation

    , Ph.D. Dissertation Sharif University of Technology Izadi, Maliheh (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    As one of the most important software artifacts, release reports include most essential changes of software systems in each release. These reports are useful for documenting team activities, improving communication between team members and facilitating decision makings. They are often generated manually by a team member, which can be a tedious and time-consuming task. For each release, one should go through hundreds of issue reports, changed files, source code, and other related documents to determine what has changed and why. Then they need to identify the most important and relevant changes. Therefore, automated generation of release reports can be highly desirable. Despite the... 

    Automated Generation of Commit Messages in Code Repositories

    , M.Sc. Thesis Sharif University of Technology Ganji, Siavash (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Software requirements are changing continuously and hence during software evolution and maintenance, source codes changes are being committed in the software repositories. Reading source codes to understand the changes is a very time consuming and tedious activity. Commit messages contain information about code changes that let developers be aware of the essence of the changes without reading the source codes. Unfortunately, due to the pressure of deadlines and lack of time, developers neglect to write these messages. Commit messages can speed up the process of software understanding for developers and also play an important role in software documentation. Therefore, an automated method for... 

    Classifying Users’ Reviews to Respond in App Stores

    , M.Sc. Thesis Sharif University of Technology Majidi, Forough (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    In recent years, the number of applications in app stores such as Google Play has increased dramatically. In Google Play, people can write a review and give a rate to each application. Each review contains a lot of notable information such as ‘feature request’ which helps with software maintenance. Also, the user rate is a sign of user satisfaction or dissatisfaction. Users can change their reviews and rate anytime they want. The previous studies show that total rating affects the success of apps and the total number of downloads. They also found that a lot of users take the rating as one of the important factors while downloading the app and they usually don’t download the apps which have... 

    Predicting API-Related Faults Using Crowd Knowledge

    , Ph.D. Dissertation Sharif University of Technology Tahmooresi, Hamed (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Software quality assurance activities such as debugging are considered one of the most important and effective tasks in software development life cycle. However, these activities are tedious and time consuming. Consequently, wide variety of studies have been conduced around the process of software debugging, such as predicting defects,which is one of the most important topics in this area.In spite of the popularity of software libraries and frameworks, and the use of application programming interfaces (API), most of the studies in the defect prediction area have not focused on predicting defects related to API usages. However, due to the lack of documentation and complexity of the APIs... 

    Temporal Analysis of Customer Satisfaction based on Steam Game Review Metadata

    , M.Sc. Thesis Sharif University of Technology Seradj, Sepand (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    The length of time a user plays a computer game is one of the most important metrics for a game’s success in the gaming industry. The importance of this metric can be explained from the viewpoint of different actors present in this industry, for example, from the point of view of the game Developer, increasing the duration of the playtime leads to an increase in opportunity for further in-game marketing, gamers value this metric since it entails how long can a game can entertain them. Making sure that a game can be entertaining for a long period of time is one of the most important factors in choosing to buy a game. Also, it’s in every online store’s best interest to always offer games to... 

    A Solution Towards Automatically Assessing Jupyter Notebooks Code Comprehension on Kaggle

    , M.Sc. Thesis Sharif University of Technology Asadi, Alireza (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    A Jupyter Notebook is composed of richly formatted cells containing both markdown and code, making it a primary coding environment for data scientists. While the advantage of seamlessly integrating code, text, and output in these notebooks is evident, criticisms have arisen due to unexpected output and the promotion of poor coding patterns, raising concerns about maintainability and reusability of these notebooks. The unique characteristics of Jupyter Notebooks, combining code and text, pose challenges for traditional methods that rely solely on source code analysis to evaluate comprehension. Notebook-related metrics such as number of markdown cells and developer-related such as performance... 

    Prioritizing Bug Issues in Git Hub Based on the Impact on the Most Used Parts of the Code

    , M.Sc. Thesis Sharif University of Technology Akhi, Mahdi (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Prioritizing bug issue report is a critical task in the software maintenance cycle of repositories that have a large number of users and contributors. In such software, late fixing of bugs can cause the loss of users’ trust and market loss. At present, a majority of bug report prioritization is manual, in that the bug issue reports are triaged by human experts. However, new automated technologies are becoming feasible. These automated techniques have been shown to be effective in general situations, though a key weakness is that they do not use the criteria for prioritizing. Most of the state-of-the-art approaches are using machine learning algorithms to learn the different features of... 

    Design and Implementation of a Search Engine for Sample Applications of Object-Oriented Framework-Provided Concepts

    , M.Sc. Thesis Sharif University of Technology Noei, Ehsan (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    An object-oriented application framework, like Eclipse, not only provides a framework for designing and implementing new applications, but also decreases the time and the cost of developing new software applications. Moreover, theseframeworks increase the maintainability of software systems. Therefore, their popularity is on the rise. The main problem of using object-oriented application frameworks is the lack of proper documentations and guides. Thus, developers often try to learn how to implement their desired concepts (e.g., Context Menu) from available sample applications. This leads the programmers to another problem which is finding the sample applications. Finding a proper sample... 

    A Solution Recommender for Exceptions in an Integrated Development Environment

    , M.Sc. Thesis Sharif University of Technology Amintabar, Vahid (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Exceptions are an indispensable part of a software development process. Developers usually rely on imprecise results from a web search to resolve the exceptions. More specifically, they manually design a query based on the information indicated by the exception message and the stack trace of that exception. Afterwards, they choose and adapt a solution from the web search results. In this scenario, there is a gap between the development environment and web browsers. Moreover, manual search is very time consuming and a lot of useful information from the code is lost. In this thesis, we introduce Exception Tracer, an Eclipse plugin that helps developers find solutions of exceptions. Exception...