VAHIDALIZADEH
.01

ABOUT

REFACTORING BOT

Our latest research tool:

PERSONAL DETAILS

BIO

ABOUT ME

I am a PhD candidate at the Department of Computer and Information Science, working in the Intelligent Software Engineering research lab (http://iselab.us) at the University of Michigan-Dearborn, USA. I am being advised by Professor Marouane Kessentini (http://kessentini.net). My main research topic is Software Engineering, with a focus on quality assurance, maintenance, and intelligent refactoring.

I received the 2018/2019 outstanding graduate research assistant award from the College of Engineering and Computer Science, and 2018 Best Invention Award of the University of Michigan among over 500 inventions from the three campuses.

I have actively published in Top Tier I venues (TSE, 2*ASE, etc.) and own one patent. All the refactoring technologies out of these papers are licensed via the UM Tech transfer office to the industry such as eBay ,and currently deployed by these organizations which impact thousands of programmers and architects.

I served as the reviewer or external reviewer of ASE, ICSE, and ITS. Also, I am the workshop's co-chair for ASE 2021.

I have worked with my advisor on writing two NSF proposals. One of them is funded for 356,000 USD.

Research Interests

Software Refactoring / Maintenance

Search-based Software Engineering

Data Analysis / Mining

Bio-signal Processing

Big Data

Machine Learning

.02

RESUME

HONORS AND AWARDS
  • 2019
    MICHIGAN, USA

    Distinguished Graduate Student Research Award

    UNIVERSITY OF MICHIGAN

    College of Engineering and Computer Science
  • 2019
    MICHIGAN, USA

    UM Invention Of The Year

    UNIVERSITY OF MICHIGAN

    Refactoring bot technology, the invention is selected among over 500 inventions of the three UM campuses
  • 2011
    2013
    TEHRAN, IRAN

    Full Scholarship in MSc

    University of Tehran

    Top 0.5% among over 30,000 participants in the nationwide university entrance exam for M.Sc degree in Electrical Engineering
  • 2006
    2011
    TEHRAN, IRAN

    Full Sholarshipin BSc

    Iran University of Science and Technology

    Top 0.1% among over 400,000 participants in the nationwide university entrance exam for B.Sc degree in Mathematics and Physics
EDUCATION
  • 2015
    Present
    MICHIGAN, USA

    PhD, Computer & Information Science

    UNIVERSITY OF MICHIGAN

    Research: “Learning-Based Interactive Code Refactoring"
  • 2011
    2013
    TEHRAN, IRAN

    M.Sc, Electrical Engineering, Concentration in Control Systems

    UNIVERSITY OF TEHRAN

    Thesis Title: “Face Recognition Using Thermal Image Processing"
  • 2006
    2011
    TEHRAN, IRAN

    B.Sc, Electrical Engineering, Concentration in Control Systems

    Iran University of Science and Technology

    Thesis Title: “Implementation and Designing Intelligent Traffic Light Control by Fuzzy Logic"
ACADEMIC AND PROFESSIONAL POSITIONS
  • Jun2019
    Sep2019
    SAN JOSE, USA

    Internship

    eBay

    Investigating eBay pre/post-release code quality and CI/CD pipeline
  • Jun2018
    Sep2018
    SAN JOSE, USA

    Internship

    eBay

    Software quality analysis and Refactoring recommendation
  • Jun2011
    Sep2011
    TEHRAN, IRAN

    Internship

    Shiva Systems Pooya Co.

    Conducted research and development in sensors and instrumentation
  • 2015
    2019
    DEARBORN, USA

    Teaching Assistant

    University of Michigan

    Software Engineering I, II - Dr. M. Kessentini

    Discrete Structures II - Dr. D. Yoon

    Computer Organization & Assembly Language - Dr. D. Yoon

    Discrete Math - Dr. B. Elenbogen

    Data Structures & Algorithm Analysis - Dr. B. Elenbogen

    Algorithm Design & Analysis - Dr. W. Grosky

    Discrete Structures I, II - Dr. S. Neji

    Big Data - Dr. O. Dehzangi

    Advanced Data Mining - Dr. O. Dehzangi

    Expert Systems - Dr. O. Dehzangi

  • 2012
    2013
    TEHRAN, IRAN

    Teaching Assistant

    University of Tehran

    System Identification - Dr. T. Abbasian

    Pattern Recognition - Dr. B. Araabi

  • 2015
    2016
    DEARBORN, USA

    Instructor

    University of Michigan

    Big Data Lab Sessions

    Advanced Data Mining Lab Sessions

  • 2007
    TEHRAN, IRAN

    Instructor

    Iran University of Science and Technology

    MATLAB Course and GUI Workshop
  • 2016
    Present
    DEARBORN, USA

    Research Assistant

    University of Michigan

    Intelligent Software Engineering Lab
  • 2015
    2016
    DEARBORN, USA

    Research Assistant

    University of Michigan

    Wearable systems & Signal Processing Lab
  • 2011
    2014
    TEHRAN, IRAN

    Research Assistant

    University of Tehran

    Image Processing & Computer Vision Lab
.03

PUBLICATIONS

PUBLICATIONS LIST
Nov 2019

RefBot: Intelligent Software Refactoring Bot

ASE

Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering

Conferences Selected Vahid Alizadeh, Mohamed Amine Ouali, Marouane Kessentini and Meriem Chater

RefBot: Intelligent Software Refactoring Bot

Vahid Alizadeh, Mohamed Amine Ouali, Marouane Kessentini and Meriem Chater
Conferences Selected
About The Publication
The adoption of refactoring techniques for continuous integration received much less attention from the research community comparing to root-canal refactoring to fix the quality issues in the whole system. Several recent empirical studies show that developers, in practice, are applying refactoring incrementally when they are fixing bugs or adding new features. There is an urgent need for refactoring tools that can support continuous integration and some recent development processes such as DevOps that are based on rapid releases. Furthermore, several studies show that manual refactoring is expensive and existing automated refactoring tools are challenging to configure and integrate into the development pipelines with significant disruption cost. In this paper, we propose, for the first time, an intelligent software refactoring bot, called RefBot. Integrated into the version control system (e.g. GitHub), our bot continuously monitors the software repository, and it is triggered by any “open” or “merge” action on pull requests. The bot analyzes the files changed during that pull request to identify refactoring opportunities using a set of quality attributes then it will find the best sequence of refactorings to fix the quality issues if any. The bot recommends all these refactorings through an automatically generated pull-request. The developer can review the recommendations and their impacts in a detailed report and select the code changes that he wants to keep or ignore. After this review, the developer can close and approve the merge of the bot’s pull request. We quantitatively and qualitatively evaluated the performance and effectiveness of RefBot by a survey conducted with experienced developers who used the bot on both open source and industry projects.
Sep 2018

Reducing interactive refactoring effort via clustering-based multi-objective search

ASE

Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering

Conferences Selected Vahid Alizadeh and Marouane Kessentini

Reducing interactive refactoring effort via clustering-based multi-objective search

Vahid Alizadeh and Marouane Kessentini
Conferences Selected
About The Publication
Refactoring is nowadays widely adopted in the industry because bad design decisions can be very costly and extremely risky. On the one hand, automated refactoring does not always lead to the desired design. On the other hand, manual refactoring is error-prone, time-consuming and not practical for radical changes. Thus, recent research trends in the field focused on integrating developers feedback into automated refactoring recommendations because developers understand the problem domain intuitively and may have a clear target design in mind. However, this interactive process can be repetitive, expensive, and tedious since developers must evaluate recommended refactorings, and adapt them to the targeted design especially in large systems where the number of possible strategies can grow exponentially.
In this paper, we propose an interactive approach combining the use of multi-objective and …
Oct 2018

An Interactive and Dynamic Search-Based Approach to Software Refactoring Recommendations

TSE

IEEE Transactions on Software Engineering

Journal Paper Selected Vahid Alizadeh, Marouane Kessentini, Wiem Mkaouer, Mel Ocinneide, Ali Ouni, and Y. Cai

An Interactive and Dynamic Search-Based Approach to Software Refactoring Recommendations

Vahid Alizadeh, Marouane Kessentini, Wiem Mkaouer, Mel Ocinneide, Ali Ouni, and Y. Cai
Journal Paper Selected
About The Publication
Successful software products evolve through a process of continual change. However, this process may weaken the design of the software and make it unnecessarily complex, leading to significantly reduced productivity and increased fault-proneness. Refactoring improves the software design while preserving overall functionality and behavior, and is an important technique in managing the growing complexity of software systems. Most of the existing work on software refactoring uses either an entirely manual or a fully automated approach. Manual refactoring is time-consuming, error-prone and unsuitable for large-scale, radical refactoring. On the other hand, fully automated refactoring yields a static list of refactorings which, when applied, leads to a new and often hard to comprehend design. Furthermore, it is difficult to merge these refactorings with other changes performed in parallel by developers. In this paper, we propose a refactoring recommendation approach that dynamically adapts and interactively suggests refactorings to developers and takes their feedback into consideration. Our approach uses NSGA-II to find a set of good refactoring solutions that improve software quality while minimizing the deviation from the initial design. These refactoring solutions are then analyzed to extract interesting common features between them such as the frequently occurring refactorings in the best non-dominated solutions. Based on this analysis, the refactorings are ranked and suggested to the developer in an interactive fashion as a sequence of transformations. The developer can approve, modify or reject each of the recommended refactorings, and this feedback is then used to update the proposed rankings of recommended refactorings. After a number of introduced code changes and interactions with the developer, the interactive NSGA-II algorithm is executed again on the new modified system to repair the set of refactoring solutions based on the new changes and the feedback received from the developer. We evaluated our approach on a set of eight open source systems and two industrial projects provided by an industrial partner. Statistical analysis of our experiments shows that our dynamic interactive refactoring approach performed significantly better than four existing search-based refactoring techniques and one fully-automated refactoring tool not based on heuristic search.
Oct 2019

Simultaneous Search-Based Transfer Learning Across Refactoring and Regression Testing Tasks

SCAM

19th IEEE International Working Conference on Source Code Analysis and Manipulation

Conferences Jeffrey Yackley, Marouane Kessentini, Gabriele Bavota, Vahid Alizadeh and Bruce Maxim

Simultaneous Search-Based Transfer Learning Across Refactoring and Regression Testing Tasks

Jeffrey Yackley, Marouane Kessentini, Gabriele Bavota, Vahid Alizadeh and Bruce Maxim
Conferences
Oct 2019

Interactive Refactoring Documentation Bot

SCAM

International Working Conference on Source Code Analysis and Manipulation

Conferences Soumaya Rebai, Ousaama Ben Sghaier, Vahid Alizadeh, Marouane Kessentini, and Meriem Chater

Interactive Refactoring Documentation Bot

Soumaya Rebai, Ousaama Ben Sghaier, Vahid Alizadeh, Marouane Kessentini, and Meriem Chater
Conferences
Oct 2019

Less is More: From Multi-Objective to Mono-Objective Refactoring via Developers Knowledge Extraction

SCAM

19th IEEE International Working Conference on Source Code Analysis and Manipulation

Conferences Vahid Alizadeh, Houcem Fehri, and Marouane Kessentini

Less is More: From Multi-Objective to Mono-Objective Refactoring via Developers Knowledge Extraction

Vahid Alizadeh, Houcem Fehri, and Marouane Kessentini
Conferences
About The Publication
Refactoring studies either aggregated quality metrics to evaluate possible code changes or treated them separately to find trade-offs. For the first category of work, it is challenging to define upfront the weights for the quality objectives since developers are not able to express them upfront. For the second category of work, the number of possible trade-offs between quality objectives is large which makes developers reluctant to look at many refactoring solutions. In this paper, we propose, for the first time, a way to convert multi-objective search into a mono-objective one after interacting with the developer to identify a good refactoring solution based on his preferences. The first step consists of using a multi-objective search to generate different possible refactoring strategies by finding a trade-off between several conflicting quality attributes. Then, an unsupervised learning algorithm clusters the different trade-off solutions, called the Pareto front, to guide the developers in selecting their region of interests and to reduce the number of refactoring options to explore. Finally, the extracted preferences from the developer are used to transform the multi-objective search into a mono-objective one by taking the preferred cluster of the Pareto front as the initial population for the mono-objective search and generating an evaluation function based on the weights that are automatically computed from the position of the cluster in the Pareto front. Thus, the developer will just interact with only one refactoring solution generated by the mono-objective search. We selected 32 participants to manually evaluate the effectiveness of our tool on 7 open source projects and one industrial project. The results show that the recommended refactorings are more accurate than the current state of the art.
Mar 2019

Interactive clustering-based multi/many-objective search for Software Refactoring: Industrial Case Studies


Demonstrations Vahid Alizadeh, Marouane Kessentini

Interactive clustering-based multi/many-objective search for Software Refactoring: Industrial Case Studies

Vahid Alizadeh, Marouane Kessentini
Demonstrations
Mar 2019

Software Developers Knowledge Extraction from Multi-Objective Search

10th International Conference on Evolutionary Multi-Criterion Optimization

Demonstrations Vahid Alizadeh, Houcem Fehri, Marouane Kessentini

Software Developers Knowledge Extraction from Multi-Objective Search

Vahid Alizadeh, Houcem Fehri, Marouane Kessentini
Demonstrations
Jan 2019

Refactoring support for variability-intensive systems

CRC Press

Software Engineering for Variability Intensive Systems-Foundations and Applications

Book Chapters Vahid Alizadeh, Marouane Kessentini and Bruce Maxim

Refactoring support for variability-intensive systems

Vahid Alizadeh, Marouane Kessentini and Bruce Maxim
Book Chapters
About The Publication
Today, maintenance and evolution are critical software development activities that might comprise up to 80% of the overall cost and effort throughout a software’s lifetime [13]. Maintenance costs often can be inflated through poor software design called code smells and defined as design situations that adversely affect the software maintenance [12]. These code smells, such as Blob and functional decomposition, decrease the cohesion in the classes and increase coupling leading to a poor modularity. In fact, code smells appear, in general, extensively in systems where requirements change quickly over time due to the customers need since developers have limited time to release a new version of the system [27][28]. Thus, the quality of variability-intensive system is lower than regular systems with lower requirements or code changes, so it is important to consider automated tools for the correction of code smells in similar situations. One of the widely used techniques to fix code smells is refactoring defined as the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure [20]. An example of refactoring is moving methods between classes to increase cohesion and reduce coupling. Some work proposes “standard” refactoring solutions that can be applied by hand for each kind of code smell (eg Blobs, large methods, etc.). However, there is no consensus to define these standard solutions since the same type of code smell can be fixed by many alternatives. In fact, developers can propose different refactoring solutions to fix the same code fragment and these solutions …
Jan 2016

The impact of secondary tasks on drivers during naturalistic driving: Analysis of EEG dynamics

ITSC

IEEE 19th International Conference on Intelligent Transportation Systems

Conferences Vahid Alizadeh and O. Dehzangi

The impact of secondary tasks on drivers during naturalistic driving: Analysis of EEG dynamics

Vahid Alizadeh and O. Dehzangi
Conferences
Nov 2016

New Approach to Detection of Driver Facial Artifacts in EEG Signals Using Joint Spectral and Geometric Features

2nd Annual UMTRI Transportation Safety Research Symposium

Demonstrations M. Taherisadr, V. Alizadeh, O. Dehzangi

New Approach to Detection of Driver Facial Artifacts in EEG Signals Using Joint Spectral and Geometric Features

M. Taherisadr, V. Alizadeh, O. Dehzangi
Demonstrations
Nov 2016

Wearable Inertial Sensor-based Driver Authentication using Gait Analysis

2nd Annual UMTRI Transportation Safety Research Symposium

Demonstrations Vahid Alizadeh, C. Williams, O. Dehzangi

Wearable Inertial Sensor-based Driver Authentication using Gait Analysis

Vahid Alizadeh, C. Williams, O. Dehzangi
Demonstrations
Nov 2016

The Impact of Secondary Tasks on Drivers During Naturalistic Driving: Analysis of EEG Dynamics

2nd Annual UMTRI Transportation Safety Research Symposium

Demonstrations Vahid Alizadeh, O. Dehzangi

The Impact of Secondary Tasks on Drivers During Naturalistic Driving: Analysis of EEG Dynamics

Vahid Alizadeh, O. Dehzangi
Demonstrations
Jan 2014

Effect of different partitioning strategies of face imprint on thermal face recognition

ICEE

22nd Iranian Conference on Electrical Engineering

Conferences Vahid Alizadeh, Soheil RayatDoost, Ehsan Arbabi

Effect of different partitioning strategies of face imprint on thermal face recognition

Vahid Alizadeh, Soheil RayatDoost, Ehsan Arbabi
Conferences
About The Publication
Face recognition using thermal images has received high attention by researchers in recent years. Since skin temperature can be visualized using thermographic cameras, a unique imprint can be achieved for thermal image of a person’s face. In this study, we have investigated the effect of using different partitioning strategies of face imprint on thermal face recognition. First, we have proposed a simple and reliable approach for face extraction using ellipse mask. Then, the face imprint has been attained using anisotropic diffusion filter and morphological processing. The face imprint is related to distribution of blood vessels under the face skin. In the next step, the face imprint has been partitioned using different strategies including rectangular, circular and polar approaches. The number of minutiae point in each partition has been computed. Finally, a SVM classifier based on one-against-one approach has been …
.04

RESEARCH

PROPOSALS

Software Refactoring Technology for Continuous Control of Quality and Security

MTRAC-Advanced in Computing Program

Purpose: Research, Travel, and Publications

Name of agency: State of Michigan

Duration: One year

Total amount of award: $75, 000

Role: Co-PI

RESEARCH SUMMARY & INTERESTS

Research Summary and Interests

My current research revolves around learning and profiling developers to improve software refactoring recommendations and building practical and assistive tools to help the developers in software maintenance tasks.

My PhD work is changing state of the art refactoring from different perspectives:

(1) Our work enables efficient interactive refactoring by automatically repairing refactoring suggestions to developers based on their interaction with the tool. Most of the existing refactoring tools are rigid, and they do not learn from the interaction with developers. (published in TSE and proposed one of the most comprehensive and exemplary refactorings validation);

(2) After noticing that interactive refactoring is time-consuming, we proposed a novel approach to learn developer preferences (including their profile) to make personalized refactoring recommendations (published in ASE'2018 as a full paper);

(3) We found that existing refactoring tools are not adequate for continuous integration and simply disturbing developers focus and development pipeline. Our work proposed the very first refactoring bot in the literature that can analyze recent pull-requests and submit new ones and behave like a human (published in ASE'2019 as a full paper). He answered fundamental research questions like when should the refactoring bot submit these pull-requests.

(4) We proposed many other contributions, like the generation of refactoring documentation (SCAM'2019), etc.

What is unique? (a) A patent accepted for the interactive refactoring bot. (b) All our three main research prototypes are licensed by companies. (c) We evaluated our interactive refactoring tool in the industry like eBay. (d) The UM Tech transfer office selected our interactive refactoring invention among the top 8 inventions of UM among over 500 inventions submitted, and we were honoured in a reception last march. (e) My PhD work is proposing a publicly available service for the community where people can analyze and refactor their code in the cloud: http://refactor.iselab.us

My main research interests are:

  • Software Refactoring / Maintenance
  • Search-based Software Engineering
  • Data Analysis / Mining
  • Bio-signal Processing
  • Big Data
  • Machine Learning
.05

WORKS

MY PORTFOLIO
Projects number 3
TOOLS / APPS

Quality Metrics Radar Chart

Quality Metrics Radar Chart

About The Project
Quality Metrics Radar Chart
TOOLS / APPS

Project Tree Map

Project Tree Map

About The Project
Project Tree Map
RESULTSTOOLS / APPS

Interactive solution charts in our tool

Interactive solution charts in our tool

About The Project
Interactive solution charts in our tool
.06

CONTACT

Send me a message

GET IN TOUCH

  • Office: #117 CIS Building
  • Email: alizadeh (at) umich (dot) edu