Alireza Aghamohammadi
Content Creator at YouTube
Software Engineer, Ph.D. Candidate | Lecturer at Sharif University of Technology
Alireza is a software engineer, university guest lecturer, researcher, and Youtube content creator. As a software engineer he designs, implements, tests, and deploys dispersed software from distributed banking systems, to automated recommender systems to web-based commercial off-the-shelf (COTS). As a university guest lecturer, he teaches courses like English for computing to computer science students. His average evaluation score, assessed by students, is 3.86/4 ranking first among all the guest lecturers (more than 35). As a researcher, he published papers in top venues such as Journal of Systems and Software (JSS), Software Testing Verification and Reliability (STVR), and Information and Software Technology (IST). His main research focuses on assessing the effectiveness of software test cases using probabilistic approaches. As a YouTube content creator, he produces different courses such as Python programming, git, agile software development (Scrum), software requirements (also known as business analysis), and project management. Hitherto, more than 850 enthusiastic people subscribe to his channels.
YouTube
https://ir.linkedin.com/company/youtube
Alireza Aghamohammad is a software engineer and guest lecturer at the Sharif University of Technology (SUT). In this channel, he teaches courses related to the principle of software engineering.
https://media-exp1.licdn.com/dms/image/C4D0BAQEfoRsyU4yUzg/company-logo_100_100/0/1631053379295?e=1655942400&v=beta&t=RnZ24gqDbifNCWylNL6b8fPlzF7Rvrkw4M--XYcf448
Content Creator
Sharif University of Technology
https://ir.linkedin.com/company/sharif-university-of-technology
I became a guest professor at the department of computer science and engineering. Since then, I have been teaching undergraduate students courses like English for Computing. My average evaluation score, assessed by students, is 3.86/4 ranking first among 38 guest professors.
Tehran, Iran
https://media-exp1.licdn.com/dms/image/C4D0BAQEYGbmjGIH89A/company-logo_100_100/0/1633504236956?e=1655942400&v=beta&t=NGPCyBxE_I2KnQL9K7R6g5HKWW7t8yC5FFeO2b45xNs
Guest Lecturer
Automated Software Engineering Laboratory
ASE is a laboratory, concerning with a quality of software and focusing on:
● software evolution 
● mining software repositories
● recommendation systems in software engineering
● reverse engineering and reengineering of software systems 
● application frameworks 
● software engineering for mobile applications

Alireza Aghamohammadi is  a machine learning engineer at the Automated Software Engineering (ASE) laboratory. He has a solid background in mathematics. 
 During this wonderful time, he works on various recommendation systems that exploit machine learning approaches (e.g., linear regression, logistic regression, and random forest) or deep neural networks (e.g., CNN, RNN, and feedforward neural network) to help software developers better carry out development tasks.

One of the projects Alireza supervises during this time is to generate automatic comments from the source code for Java programs. To this end, neural machine translation is exploited to generate this comment. This projects leads to a publication in the well-known JSS journal.

Alireza designs, teaches, and implements lots of courses such as Python programming, machine learning, data analysis, and data visualization. Overall more than 100 students are taught by Alireza to achieve and advance their career in data science.
Tehran Province, Iran
Machine Learning Engineer
Doctor of Philosophy - PhD
Courses:
● Software Development Methodology
● Computer Performance Evaluation
● Program Development From Specification
● Machine Learning Theory
● Software Patterns
Computer Software Engineering
https://media-exp1.licdn.com/dms/image/C4D0BAQEYGbmjGIH89A/company-logo_100_100/0/1633504236956?e=1655942400&v=beta&t=NGPCyBxE_I2KnQL9K7R6g5HKWW7t8yC5FFeO2b45xNs
Sharif University of Technology
https://ir.linkedin.com/school/sharif-university-of-technology/
Master’s Degree
Courses:
● Software Testing
● Software Architecture
● Formal Specification and Verification
● Software Evolution
● Theory of Distributed Systems
● Decision Support Systems
● Management Information Systems
● Advanced Operating Systems
Computer Software Engineering
https://media-exp1.licdn.com/dms/image/C4D0BAQEYGbmjGIH89A/company-logo_100_100/0/1633504236956?e=1655942400&v=beta&t=NGPCyBxE_I2KnQL9K7R6g5HKWW7t8yC5FFeO2b45xNs
Sharif University of Technology
https://ir.linkedin.com/school/sharif-university-of-technology/
Bachelor's degree
Alireza has a solid background in mathematics. Some of his grades in math acquired during the bachelor studies are General Mathematics I: 19.9, General Mathematics II: 19.1, Differential Equations: 19.7, Statistics: 20, and  Engineering Mathematics: 19.8.
Computer Software Engineering
https://media-exp1.licdn.com/dms/image/C4D0BAQEYGbmjGIH89A/company-logo_100_100/0/1633504236956?e=1655942400&v=beta&t=NGPCyBxE_I2KnQL9K7R6g5HKWW7t8yC5FFeO2b45xNs
Sharif University of Technology
https://ir.linkedin.com/school/sharif-university-of-technology/
Context: Tangled commits are changes to software that address multiple concerns at once. For researchers interested in bugs, tangled commits mean that they actually study not only bugs, but also other concerns irrelevant for the study of bugs.
Objective: We want to improve our understanding of the prevalence of tangling and the types of changes that are tangled within bug fixing commits.
Methods: We use a crowd sourcing approach for manual labeling to validate which changes contribute to bug fixes for each line in bug fixing commits. Each line is labeled by four participants. If at least three participants agree on the same label, we have consensus.
Results: We estimate that between 17% and 32% of all changes in bug fixing commits modify the source code to fix the underlying problem. However, when we only consider changes to the production code files this ratio increases to 66% to 87%. We find that about 11% of lines are hard to label leading to active disagreements between participants. Due to confirmed tangling and the uncertainty in our data, we estimate that 3% to 47% of data is noisy without manual untangling, depending on the use case.
Conclusion: Tangled commits have a high prevalence in bug fixes and can lead to a large amount of noise in the data. Prior research indicates that this noise may alter results. As researchers, we should be skeptics and assume that unvalidated data is likely very noisy, until proven otherwise.
A Fine-grained Data Set and Analysis of Tangling in Bug Fixing Commits
Empirical Software Engineering
Predictive mutation testing (PMT) is a technique to predict whether a mutant is killed, using machine learning approaches. Researchers have proposed various methods for PMT over the years. However, the impact of unreached mutants on PMT is not fully addressed. A mutant is unreached if the statement on which the mutant is generated is not executed by any test cases. We aim at showing that unreached mutants can inflate PMT results. Moreover, we propose an alternative approach to PMT, suggesting a different interpretation for PMT. To this end, we replicated the previous PMT research. We empirically evaluated the suggested approach on 654 Java projects provided by prior literature. Our results indicate that the performance of PMT drastically decreases in terms of area under a receiver operating characteristic curve (AUC) from 0.833 to 0.517. Furthermore, PMT performs worse than random guesses on 27% of the projects. The proposed approach improves the PMT results, achieving the average AUC value of 0.613. As a result, we recommend researchers to remove unreached mutants when reporting the results.
An ensemble-based predictive mutation testing approach that considers impact of unreached mutants
Software Testing, Verification and Reliability
https://doi.org/10.1002/stvr.1784
Software testing is a pivotal activity in the development of high-quality software. As software is evolving through its life cycle, the need for a fault-revealing criterion assessing the effectiveness of the test suite grows. Over the years, researchers have proposed coverage-based criteria, including statement and branch coverage, to solve this issue. In literature, the effectiveness of such criteria is attested in terms of their correlations with the mutation score. In this paper, we aim at proposing a coverage-based criterion named statement frequency coverage, which outperforms statement and branch coverage in terms of correlation with mutation score. To this end, we incorporated the frequency of executed statements into statement coverage and created a coverage-based criterion for assessing test suite effectiveness. Statement frequency coverage assigns a continuous value to a statement whose value is proportional to the number of times executed during test execution. We evaluated our approach on 22 real-world Python projects with more than 118 000 source lines of code (without blank lines, comments, and test cases) and 21 000 test cases through measuring the correlation between statement frequency coverage and corresponding mutation score. The results show that statement frequency coverage outperforms statement and branch coverage criteria. The correlation between it and the corresponding mutation score is higher than the correlation of statement and branch coverage with their mutation score. The results also show that unlike statement and branch coverage, there is no statistical difference between statement frequency coverage and mutation score. Statement frequency coverage is a better choice compared to statement and branch coverage in assessing test suite effectiveness in the real-world setting.
Statement frequency coverage: A code coverage criterion for assessing test suite effectiveness
Information and Software Technology
https://doi.org/10.1016/j.infsof.2020.106426
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 approach based on deep neural networks and dynamic call graphs to generate summaries for methods of event-driven programs. First, we collect a set of comment/code pairs from Github and train a deep neural network on the set. Afterward, by exploiting a dynamic call graph, the Pagerank algorithm, and the pre-trained deep neural network, we generate summaries. An empirical evaluation with 14 real-world Android applications and 42 participants indicates 32.3% BLEU4 which is a definite improvement compared to the existing state-of-the-art techniques. We also assessed the informativeness and naturalness of our generated summaries from developers’ perspectives and showed they are sufficiently understandable and informative.
Generating summaries for methods of event-driven programs: An Android case study
Journal of Systems and Software
https://doi.org/10.1016/j.jss.2020.110800
Among more than 3,000 participants, I acquire admission to higher education in Iran.
National Organization of Educational Testing
Ranked 2nd in Iranian Nationwide Doctoral Entrance Exam in Software Engineering
Among more than 30,000 participants, I acquire admission to higher education in Iran.
National Organization for Educational Testing
Ranked 16th in Iranian Nationwide Master Entrance Exam in Algorithm
Among more than 300,000 participants, I acquire admission to higher education in Iran.
National Organization for Educational Testing
Ranked 263rd in Iranian Nationwide University Entrance Exam
This is the official implemenation of the paper entitled Statement Frequency Coverage.
SFC - Statement Frequency Coverage
https://github.com/aaghamohammadi/SFC
Jalaali calendar is a solar calendar that was used in Persia, variants of which today are still in used in Iran as well as Afghanistan. Python implementation of Jalaali calendar which contains functions for converting Jalaali and Gregorian calendar systems to each other.
Jalaali Python
https://github.com/jalaali/jalaali-python
Macrosolutions
www.credential.net
35529983
CRASH COURSE ON RISK IDENTIFICATION
https://www.credential.net/9162b08b-c5b1-46cc-8bfd-774282d494ac
SoloLearn
www.sololearn.com
Python 3 Tutorial Course
http://www.sololearn.com/Certificate/1073-15268208/pdf
Udemy
ude.my
UC-0KSRYIB2
Python for Beginners: Learn with Examples and Mini-Project
http://ude.my/UC-0KSRYIB2
Cognitive Class
courses.cognitiveclass.ai
SC0101EN
Scala 101
https://courses.cognitiveclass.ai/certificates/3e5360f9ab0141d1b5efb01316e7f047
IBM
www.youracclaim.com
Scala Programming for Data Science - Level 1
https://www.youracclaim.com/badges/dcea0433-6570-40e6-a3a7-e74ba52edb12/linked_in_profile
IBM
www.youracclaim.com
Machine Learning with Python - Level 1
https://www.youracclaim.com/badges/4875fe94-8f8b-4e01-bfef-38bdd9b87c6b/linked_in_profile
IBM
www.youracclaim.com
Python for Data Science
https://www.youracclaim.com/badges/82e47c76-9bed-4218-af44-955b6d090c74/linked_in_profile
Cognitive Class
courses.cognitiveclass.ai
ML0122ENv1
Accelerating Deep Learning with GPU
https://courses.cognitiveclass.ai/certificates/user/1002452/course/course-v1:CognitiveClass+ML0122ENv1+2018w39
Cognitive Class
courses.cognitiveclass.ai
ML0120ENv2
Deep Learning with TensorFlow
https://courses.cognitiveclass.ai/certificates/be93fb1d3f7f462fb9821576845cc679
IBM
www.youracclaim.com
Applied Data Science with Python - Level 2
https://www.youracclaim.com/badges/034e254c-a18e-4872-af20-86356c9034bf/linked_in_profile
IBM Cognitive Class
courses.cognitiveclass.ai
DV0101EN
Data Visualization with Python
https://courses.cognitiveclass.ai/certificates/02a4eaea82d347d685f4225821db2fcb
Cognitive Class
courses.cognitiveclass.ai
ML0115EN
Deep Learning Fundamentals
https://courses.cognitiveclass.ai/certificates/152df496bf524a1a97779d870bfbe83e
Cognitive Class
courses.cognitiveclass.ai
ML0101ENv3
Machine Learning with Python
https://courses.cognitiveclass.ai/certificates/c0fbdec5f9e64391a049e133be71c2c2
IBM Cognitive Class
courses.cognitiveclass.ai
DA0101EN
Data Analysis with Python
https://courses.cognitiveclass.ai/certificates/4376081de032449eb85fa7f94400c603
IBM Cognitive Class
courses.cognitiveclass.ai
PY0101EN
Python 101 for Data Science
https://courses.cognitiveclass.ai/certificates/ac55cf37ca634d5d922dd49361730aca
https://www.linkedin.com/in/hesam-salehian
San Francisco Bay Area
Hesam Salehian
ML Tech Lead at Instagram Stories Ranking
https://ca.linkedin.com/in/karegar
Toronto, ON
Reza Karegar
Software Engineer at Google
https://www.linkedin.com/in/samantha-you
Los Angeles Metropolitan Area
Sam You, Ph.D.
Technical Support Specialist at DiaSorin Molecular LLC
https://www.linkedin.com/in/mojgan-goftari
Minneapolis, MN
Mojgan Goftari, PhD
Sr Scientist in Cardiac Rhythm Management, Boston Scientific.
https://pk.linkedin.com/in/umairmumtaz826
Lahore
Umair Mumtaz
DFT calculations
https://www.linkedin.com/in/shadi-sh-45b97455
Los Angeles, CA
Shadi Sh
Software Engineer Intern at Google
https://www.linkedin.com/in/fatemehn
Greater Minneapolis-St. Paul Area
Fatemeh Nosrat
Ph.D. Candidate at University of Minnesota
https://www.linkedin.com/in/hilal-ezgi-toraman-0726a4133
State College, PA
Hilal Ezgi Toraman
Assistant Professor of Energy Engineering and Chemical Engineering at Penn State University
https://www.linkedin.com/in/spaul06
Greensboro, NC
Shubhra Paul,PhD
Data Science |  Pricing Analytics | Operations Research | Supply Chain | Project Management | Willing to relocate
https://bd.linkedin.com/in/mehedimdhasan
Dhaka, Bangladesh
Mohammed Mehedi Hasan
Software & Solution Architecture | Scaling Microservices | Leading High Performing Engineering Team
https://www.linkedin.com/in/krizivan03
Phoenix, AZ
Christopher C.
ASU ‘21 | Software Engineer @ Apple 
https://ca.linkedin.com/in/mjafarmashhadi
Calgary, AB
Mohammad Jafar Mashhadi
Machine Learning Engineer at Georgian
https://uk.linkedin.com/in/hira-rehman-294533194
Greater Sheffield Area
Hira Rehman
Software Engineering Student
https://de.linkedin.com/in/hossein-dadashi-a1bba5150
Munich
Hossein Dadashi
Frontend Engineer at Celonis
https://ir.linkedin.com/in/mahdilashkari
Iran
Mahdi Lashkari
PhD Candidate Sharif University of Technology and Deep learning Researcher
https://www.linkedin.com/in/mohamadjafarigukeh
San Diego, CA
Mohamad Jafari Gukeh
Ph.D. Candidate at the
University of Illinois at Chicago
https://www.linkedin.com/in/moez
United States
Ali MoezGholami
Moez @ Google
https://ir.linkedin.com/in/esmail-alipour-hafshejani
Iran
Esmail Alipour Hafshejani
CEO & Founder at thaco | Never Lying
https://ir.linkedin.com/in/mohsen-ghorbandoust-a83b8952
Iran
Mohsen Ghorbandoust
CEO at Rayan Electronic
Maliheh Izadi, PhD
      
          



            
              
        
              
  

    
        ‏Being highly intelligent, versatile and efficient are the highlights of Alireza’s character in my opinion.I have had the pleasure of knowing Alireza for over three years, during which we have collaborated on a joint research project. What I admire the most about him is his discipline, his ability to organize and juggle multiple tasks at the same time, and his work ethics. He is immensely trustworthy and gets the job done right on time, no matter how hard or time-consuming it can be. Moreover, he is flexible and I think everybody can cooperate with him easily. I strongly believe Alireza’s salient traits makes him a real asset to any team. Mohammad Jafar Mashhadi
      
          



            
              
        
              
  

    
        Alireza is definitely one of the smartest and the most organized people I've ever seen. He has a strong mathematical background in addition to knowing how to get his hands dirty in implementation. When a task assigned to him you will not have to worry about anything; he will do what needs to be done.  
He is a trustworthy and mature team manager too. 
We will be going on different yet parallel paths in the upcoming couple of years but I really hope that we can work together in one team in the future.
Liked by Alireza Aghamohammadi
https://www.linkedin.com/signup/cold-join
Did you know, you can now include SVG files in your Issues, PRs, Discussions and Markdown files simply by drag-dropping the file into your browser 🤘
Liked by Alireza Aghamohammadi
https://www.linkedin.com/signup/cold-join
{از فروش محصول تا جانشینی مدیر عامل}امروز تولد پدرمه!۱بهمن کاملا آگاهم که لینکدین بستری برای تبریک تولد همانند اینستاگرام نیست!صرفا چون پدر با…
Liked by Alireza Aghamohammadi
https://www.linkedin.com/signup/cold-join
اگه دنبال یادگیری مبانی برنامه نویسی به زبان پایتون به طور عمیق هستید این دوره رو در کنار آموزش های موجود در سایت دبلیو تری اسکولز  پیشنهاد می…
https://ir.linkedin.com/in/alireza-aghamohammadi-97742978
Tehran, Iran
Alireza Aghamohammadi
Director Of Sales And Business Development
https://www.linkedin.com/in/alireza-aghamohammadi
Bellevue, WA
Alireza Aghamohammadi
https://ir.linkedin.com/in/alireza-aghamohammadi-5b687bb5
Iran
alireza aghamohammadi
Author
https://ir.linkedin.com/in/alireza-aghamohammadi-a8ab0753
Iran
Alireza Aghamohammadi
--
Sharif University of Technology Association (SUTA)
https://media-exp1.licdn.com/dms/image/C4E07AQH1Eyr2e1GY_g/group-logo_image-shrink_92x92/0/1640665473201?e=1647691200&v=beta&t=UC8RUCfft3ocU-HZo9f9ddTylTOfK22bIW7p4H58wVA
https://www.linkedin.com/groups/3963863