Loading...
Search for: heydarnoori--a
0.158 seconds

    Generating summaries for methods of event-driven programs: An Android case study

    , Article Journal of Systems and Software ; Volume 170 , 2020 Aghamohammadi, A ; Izadi, M ; Heydarnoori, A ; Sharif University of Technology
    Elsevier Inc  2020
    Abstract
    The lack of proper documentation makes program comprehension a cumbersome process for developers. Source code summarization is one of the existing solutions to this problem. Many approaches have been proposed to summarize source code in recent years. A prevalent weakness of these solutions is that they do not pay much attention to interactions among elements of software. An element is simply a callable code snippet such as a method or even a clickable button. As a result, these approaches cannot be applied to event-driven programs, such as Android applications, because they have specific features such as numerous interactions between their elements. To tackle this problem, we propose a novel... 

    Improving quality of a post's set of answers in stack overflow

    , Article 46th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2020, 26 August 2020 through 28 August 2020 ; 2020 , Pages 504-512 Tavakoli, M ; Izadi, M ; Heydarnoori, A ; Sharif University of Technology
    Institute of Electrical and Electronics Engineers Inc  2020
    Abstract
    Community Question Answering platforms such as Stack Overflow help a wide range of users solve their challenges on-line. As the popularity of these communities has grown over the years, both the number of members and posts have escalated. Also, due to the diverse backgrounds, skills, expertise, and viewpoints of users, each question may obtain more than one answer. Therefore, the focus has changed toward producing posts that have a set of answers more valuable for the community as a whole, not just one accepted-answer aimed at satisfying only the question-asker. Same as every universal community, a large number of low-quality posts on Stack Overflow require improvement. We call these posts... 

    Predicting the objective and priority of issue reports in software repositories

    , Article Empirical Software Engineering ; Volume 27, Issue 2 , 2022 ; 13823256 (ISSN) Izadi, M ; Akbari, K ; Heydarnoori, A ; Sharif University of Technology
    Springer  2022
    Abstract
    Software repositories such as GitHub host a large number of software entities. Developers collaboratively discuss, implement, use, and share these entities. Proper documentation plays an important role in successful software management and maintenance. Users exploit Issue Tracking Systems, a facility of software repositories, to keep track of issue reports, to manage the workload and processes, and finally, to document the highlight of their team’s effort. An issue report is a rich source of collaboratively-curated software knowledge, and can contain a reported problem, a request for new features, or merely a question about the software product. As the number of these issues increases, it... 

    GIRT-data: sampling github issue report templates

    , Article Proceedings - 2023 IEEE/ACM 20th International Conference on Mining Software Repositories, MSR 2023 ; 2023 , Pages 104-108 ; 979-835031184-6 (ISBN) Nikeghbal, N ; Hossein Kargaran, A ; Heydarnoori, A ; Schutze, H ; Sharif University of Technology
    Institute of Electrical and Electronics Engineers Inc  2023
    Abstract
    GitHub's issue reports provide developers with valuable information that is essential to the evolution of a software development project. Contributors can use these reports to perform software engineering tasks like submitting bugs, requesting features, and collaborating on ideas. In the initial versions of issue reports, there was no standard way of using them. As a result, the quality of issue reports varied widely. To improve the quality of issue reports, GitHub introduced issue report templates (IRTs), which pre-fill issue descriptions when a new issue is opened. An IRT usually contains greeting contributors, describing project guidelines, and collecting relevant information. However,... 

    The ineffectiveness of domain-specific word embedding models for GUI test reuse

    , Article 30th IEEE/ACM International Conference on Program Comprehension, ICPC 2022, 16 May 2022 through 17 May 2022 ; Volume 2022-March , 2022 , Pages 560-564 ; 9781450392983 (ISBN) Khalili, F ; Mohebbi, A ; Terragni, V ; Pezze, M ; Mariani, L ; Heydarnoori, A ; Sharif University of Technology
    IEEE Computer Society  2022
    Abstract
    Reusing test cases across similar applications can significantly reduce testing effort. Some recent test reuse approaches successfully exploit word embedding models to semantically match GUI events across Android apps. It is a common understanding that word embedding models trained on domain-specific corpora perform better on specialized tasks. Our recent study confirms this understanding in the context of Android test reuse. It shows that word embedding models trained with a corpus of the English descriptions of apps in the Google Play Store lead to a better semantic matching of Android GUI events. Motivated by this result, we hypothesize that we can further increase the effectiveness of... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    Homepage Personalization in Mobile App Stores

    , M.Sc. Thesis Sharif University of Technology Mirferdos, Ali (Author) ; Heydarnoori, Abbass (Supervisor)
    Abstract
    Due to the increasing variety and quantity of programs available in each field, the choice is for the users of smart devices and one of the main solutions to solve this problem is personalization. Previous studies in this field were either specific on the therapeutic factors and features for each app or a general strategy for offering apps to users. The aim of the present study is to personalize the programs in a shelf and to rank the shelves according to different people for each user, so that the order of the shelves on a page is shown differently for each user. We also intend to have items that have business aspects to layout, can be considered for good user experience, beneficial stores... 

    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... 

    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... 

    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,... 

    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...