Biography

I am an Assistant Professor at Rochester Institute of Technology, Department of Software Engineering. My research interests focuses on utilization of machine learning, data mining and big data analysis algorithms to solve software engineering problems in the areas such as software architecture analysis, requirements engineering, software traceability, security architecture, and source code comprehension.

Particularly I am interested in development of software tools that assist programmers working in mission and safety critical domains, performance centric and dependable software.

I worked for seven years as a software architect and designer on large, data-intensive, meteorological and health care systems.

I was fortunate enough to work with Jane Cleland-Huang during my doctoral studies at DePaul University. Check my academic genealogy here.

Students

  • Joanna Cecilia Santos
  • Danielle Gonzalez
  • Waleed Zogaan
  • Ibrahim Mujhid
  • Raghuram Gopalakrishnan
  • Palak Sharma
  • Jairo Pavel Veloz Vidal

  • Publications

    Mehdi Mirakhorli, Jane Cleland Huang, Detecting, Tracing and Monitoring Architectural Tactics in Code, IEEE Transactions on Software Engineering, vol. 42, no. 3, pp. 205-220, March 1 2016. doi: 10.1109/TSE.2015.2479217.

    Ehsan Kouroshfar, Mehdi Mirakhorli, Hamid Bagheri, Lu Xiao, Sam Malek, and Yuanfang Cai, "A Study on the Role of Software Architecture in the Evolution and Quality of Software", The 12th Working Conference on Mining Software Repositories (MSR), 2015.

    Daniel E. Krutz, Mehdi Mirakhorli, Samuel A. Malachowsky, Andres Ruiz, Jacob Peterson, and Andrew Filipski, "A Dataset of Open Source Android Applications", The 12th Working Conference on Mining Software Repositories (MSR), 2015.

    Mehdi Mirakhorli, Jane Cleland-Huang, "Modifications, Tweaks, and Bug Fixes in Architectural Tactics", The 12th Working Conference on Mining Software Repositories (MSR), 2015.

    Saeed Namdar, Mehdi Mirakhorli, "Toward Actionable Software Architecture Traceability", The 8th International Symposium on Software and Systems Traceability (SST 2015).

    Mehdi Mirakhorli, Hongmei Chen and Rick Kazman. "Mining Big Data for Detecting, Extracting and Recommending Architectural Design Concepts", 1st International Workshop on BIG Data Software Engineering, 2015.

    Mehdi Mirakhorli, "Software Architecture Reconstruction: Why? What? How?", 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), 2015

    Catherine Ramirez, Meiyappan Nagappan, and Mehdi Mirakhorli, "Studying the Impact of Evolution in R Libraries on Software Engineering Research", 1st International Workshop on Software Analytics, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), 2015.

    Robert S. Hanmer , Mehdi Mirakhorli, “Mining New Patterns by Learning from the Trenches”, Pattern Languages of Programs (PLoP), 2014.

    Mona Rahimi, Mehdi Mirakhorli, Jane Cleland-Huang, "Automated extraction and visualization of quality concerns from requirements specifications" 2014 IEEE 22nd International Requirements Engineering Conference (RE), pp. 253-262, 2014 IEEE 22nd International Requirements Engineering Conference (RE), 2014

    Mehdi Mirakhorli, Ahmed Fakhry, Artem Grechko, Mateusz Wieloch, Jane Cleland-Huang “Archie: A Tool for Detecting, Monitoring, and Preserving Architecturally Significant Code”, 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2014).

    Jane Cleland Huang, Muhammad Ali Babar, Mehdi Mirakhorli, "An Inverted Classroom Experience: Engaging Students in Architectural Thinking for Agile Projects", Software Engineering Education and Training (SEET) Track, IEEE International Conference on Software Engineering (ICSE'14).

    Jane Cleland Huang, Adam Czauderna, Mehdi Mirakhorli, "Driving Architectural Design and Preservation from a Persona Perspective in Agile Projects", Agile Software Architecture, edited by Muhammad Ali Babar, Ivan Mistrik, and Alan Brown, 2014.

    Matthias Galster, Mehdi Mirakhorli, Jane Cleland-Huang, Xavier Franch, Janet E. Burge, Roshanak Roshandel, and Paris Avgeriou. "Towards bridging the twin peaks of requirements and architecture. SIGSOFT Softw. Eng. Notes 39, 5 (September 2014)

    Mehdi Mirakhorli, "Preventing Erosion of Architectural Tactics through Their Strategic Implementation, Preservation, and Visualization", 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2013.

    Negar Hariri, Carlos Castro-Herrera, Mehdi Mirakhorli, Jane Cleland-Huang, Bamshad Mobasher, "Supporting Domain Analysis through Mining and Recommending Features from Online Product Listings", IEEE Transactions on Software Engineering.

    Mehdi Mirakhorli, Jane Cleland-Huang, "Traversing the Twin Peaks", IEEE Software,vol.30, no.2, March-April 2013.

    Jane Cleland-Huang, Mehdi Mirakhorli, Adam Czauderna, Mateusz Wieloch, "Decision-Centric Traceabil-ity of Architectural Concerns", The 7th International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE 2013), Co-located with IEEE International Conference on Software Engineering (ICSE) 2013.

    Matthias Galster, Mehdi Mirakhorli, Jane Cleland-Huang, Janet E. Burge, Xavier Franch, Roshanak Roshandel, and Paris Avgeriou. 2013. "Views on software engineering from the twin peaks of requirements and architecture". SIGSOFT Softw. Eng. Notes 38, 5 (August 2013)

    Mehdi Mirakhorli, Yonghee Shin, Jane Cleland-Huang and Murat Cinar, "A Tactic-Centric Approach for Automating Traceability of Quality Concerns", IEEE International Conference on Software Engineering (ICSE) 2012.

    Mehdi Mirakhorli, Patrick Maeder, Jane Cleland-Huang, "Variability Points and Design Pattern Usage in architectural Tactics", 20th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-20), SIGSOFT/FSE'12, Cary, NC, USA - November 11 - 16, 2012.

    Jane Cleland-Huang, Patrick Maeder, Mehdi Mirakhorli, Sorawit Amornborvornwong, "Breaking the Big-Bang Practice of Traceability: Pushing Timely Trace Recommendations to Project Stakeholders", 20th IEEE International Requirements Engineering Conference(RE'12), Chicago, IL, USA, September 24-28, 2012.

    Mehdi Mirakhorli and Jane Cleland-Huang. "Tracing Non-Functional Requirements", In: Andrea Zisman, Jane Cleland-Huang and Olly Gotel. Software and Systems Traceability., Springer-Verlag., 2011.

    Mehdi Mirakhorli, Cleland-Huang, "A Pattern System for Tracing Architectural Concerns", 18th Conference on Pattern Languages of Programs (PLOP'11), Portland, OR, USA. 2011.

    Mehdi Mirakhorli, Cleland-Huang, "Using Tactic Traceability Information Models to Reduce the Risk of Architectural Degradation during System Maintenance", Proceedings of the 27th International Conference on Software Maintenance (ICSM) 2011.

    Mehdi Mirakhorli, Jane Cleland-Huang, "Tracing Architectural Concerns in High Assurance Systems (NIER Track)", 33th International Conference on Software Engineering, New Ideas and Emerging Results Track, ICSE 2011, Honolulu, Hawaii, USA, May 2011.

    Mehdi Mirakhorli, Jane Cleland-Huang , "Transforming trace information in architectural documents into re-usable and effective traceability links", in Proceedings of the Sixth Workshop on SHAring and Reusing architectural Knowledge, ICSE 2011,Honolulu, Hawaii, USA, May 2011.

    Mehdi Mirakhorli, "Tracing Architecturally Significant Requirements: A Decision-Centric Approach", Doctoral Symposium, 33th International Conference on Software Engineering (ICSE), Honolulu, Hawaii, USA, May 2011.

    Horatiu Dumitru, Marek Gibiec, Negar Hariri, Jane Cleland-Huang, Bamshad Mobasher, Carlos Castro-Herrera, Mehdi Mirakhorli, "On-demand Feature Recommendations derived from Mining Public Product Descriptions", IEEE International Conference on Software Engineering (ICSE), Honolulu, Hawaii, USA, May 2011.

    Mehdi Mirakhorli, Jane Cleland-Huang, "A Decision-Centric Approach for Tracing Reliability Concerns in Embedded Software Systems", Embedded Software Reliability (ESR), held at ISSRE’10, San Jose, Nov, 2010.

    Amir Sharifloo, Mehdi Mirakhorli, Fereidoon Shams, "Agility in Iran: Position, Motivation, and Adaption", 20th Australian Conference on Software Engineering (ASWEC), 2009.

    Mehdi Mirakhorli, A. Rahman Khanipoor, Fereidoon Shams, Maryam Pazoki, Abbas Mirakhorli, "RDP Technique: A Practice to Customize XP", Scrutinizing Agile Practices or Shoot out at Process Corral(APSO 2008), 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 2008.

    Mehdi Mirakhorli, Amir sharifloo, Fereidoon Shams, "Architectural Challenges of Ultra Large Scale Systems", Second International Workshop on Ultra-Large-Scale Software- Intensive Systems(ULSSIS 2008), 30th International Conference on Software Engineering (ICSE), Leipzig, Germany, May 2008.

    Amir sharifloo, Mehdi Mirakhorli, Fereidoon Shams, "How Could ULS Systems Achieve Architecture Benefits?", Second International Workshop on Ultra-Large-Scale Software- Intensive Systems(ULSSIS 2008), 30th International Conference on Software Engineering (ICSE), Leipzig, Germany, May 2008.

    Fereidoon Shams, Mehdi Mirakhorli, Amir sharifloo, "A Service Driven Development Process (SDDP) Model for Ultra Large Scale Systems", Second International Workshop on Ultra-Large-Scale Software- Intensive Systems(ULSSIS 2008), 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 2008.

    Mehdi Mirakhorli, A.R. Khanipoor, Fereidoon Shams, Abbas Mirakhorli, Maryam Pazoki, "RDP Technique: Take a Different Look at XP for Adoption", 19th IEEE Australian Conference on Software Engineering (ASWEC), pp. 656-662, 2008.

    Mehdi Mirakhorli, Amir sharifloo, Maghsoud Abbaspour, "A Novel Method for Leader Election Algorithm", 7th IEEE International Conference on Computer and Information Technology(CIT07), Fukushima Japan, October 2007.

    Amir Sharifloo, Mehdi Mirakhorli, Mostafa Esmaeili, Abolfazl T. Haghighat, "A Leader Election Algorithm for Clustered Group", IEEE International Conference on Industrial and Information System (ICIIS2007), Peradeniya, Sri Lanka, August 2007.

    Synergistic Activities

    Workshop Chairs, 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2016.

    Serving as Program Co-Chair of Fifth International Workshop on Twin Peaks of Requirements and Architecture, IEEE International Conference on Software Engineering, 2015.

    Serving on Program Committee for the Software Engineering Education Track at the International Conference on Software Engineering (ICSE 2016)

    Serving on Program Committee of ICSE-Demos, International Conference on Software Engineering (ICSE 2016)

    Serving on Program Committee of The 8th International Symposium on Software and Systems Traceability (SST 2015)

    Serving on Program Committee of 22nd International Conference on Software Analysis, Evolution and Reengineering (SANER 2015)

    Serving on Program Committee of Early Research Achievements (ERA) track of the 30th International Conference on Software Maintenance and Evolution (ICSME 2015)

    Serving as Program Committee of RE2015-Posters-Tool-Demos, International Requirements Engineering Conference (RE), 2015.

    Co-Organizer of "Mining New Patterns" focused group, PLoP 2014.

    Serving on Program Committee of 1st International Workshop on BIG Data Software Engineering, ICSE 2015.

    Serving on Program Committee of Early Research Achievements (ERA) track of the 30th International Conference on Software Maintenance and Evolution (ICSME 2014)

    Serving as Program Co-Chair of Fourth International Workshop on Twin Peaks of Requirements and Architecture, IEEE International Conference on Software Engineering, 2014.

    Pattern Shepherd, Pattern Languages of Programs Conference (PLoP'13), October 23-26, 2013.

    Serving on Program board of 3rd International Workshop on Twin Peaks of Requirements and Architecture (TwinPeaks@RE13), IEEE International Conference on Software Engineering, 2013.

    Serving on Program board of 2nd International Workshop on Twin Peaks of Requirements and Architecture (TwinPeaks@ICSE13), IEEE International Conference on Software Engineering, 2013.

    Served on Program Committee for The 7th International Workshop on Traceability in Emerging Forms of Software Engineering, Collocated with ICSE 2013.

    Guest Editor, IEEE Special Issue on TwinPeaks of Requirements and Architecture.

    Serving as Program Chair of First International Workshop on Twin Peaks of Requirements and Architecture, IEEE International Requirements Engineering Conference, 2012.

    Served on Program Committee for Requirements Engineering for Systems, Services, and Systems of Systems (RES^4) held at 19th IEEE International Requirements Engineering Conference, 2010.

    Student volunteer chair, 20th IEEE International Requirements Engineering Conference, September 24th-28th, 2012. Chicago, Illinois, USA.

    Reviewer for the IEEE Transactions on Software Engineering (TSE).

    Reviewer for the Journal of Information and Software Technology.

    Reviewer for Brazilian Journal of Universal Computer Science (J.UCS) Special Issue: Software Components, Architectures and Reuse, 2013.

    Reviewer in IEEE/INFORMS International Conference on Service Operations and Logistics, 5/2007.

    Invited Talks

    ALTA Distinguished Speaker, Alcatel-Lucent, Software Archeology: Mining Software Repositories to Discover Design Knowledge, August 15, 2013.

    Research Colloquium at School of Computer Science, DePaul University, Identifying and Preserving Knowledge of Architecturally Significant Requirements in Source Code, 17/01/2014.

    Invited Talk, Research Experiences for Undergraduates (REU), DePaul University, Software Engineering Research, Summer 2013.

    Research Colloquium at School of Computer Science, DePaul University, Variability Points and Design Pattern Usage in Architectural Tactics, 11/09/2012.

    Research Colloquium at School of Computer Science, DePaul University, Preserving Architectural Quality through Tracing Critical Design Decisions, 21/01/2011.

    Teaching

  • Software Architecture Design
  • Software Engineering Principles
  • Compiler Construction
  • Advanced Topic in Software Engineering
  • Introduction to Object Oriented Programming in C++
  • Awards

    2012 ACM SIGSOFT Distinguished Paper Award at ICSE'12
    2011 ACM SIGSOFT Distinguished Paper Award at ICSE'11
    NSF travel award ICSM2011
    NSF travel award ICSE2011
    ACM SIGSOFT CAPS travel award ICSE'08
    SIDA travel award, ICIIS'07

    Personal

    I live in Chicago!

    My very first software programs are:
    Animated Led Message Board.
    Simulation of 32bit Pipelined RISC CPU.
    Hot Standby Fault Failover for Horizontally and Vertically Distributed Databases.

    My Academic Genealogy

    Most doctoral students work with an academic advisor, who served as their mentor. Through the student-mentor relationship, the educational culture, research styles, manners and ethics are passed on from advisor to student and from one generation to the next.

    I have traced the genealogy of my mentorship through several generations and discovered that my academic roots began with Thomas Alva Edison. Edison never had an academic mentor and attended public school for only 3 weeks.

    Click here to see my academic genealogy:


    Jane Cleland-HuangMy Adviser was:

    Jane Cleland-Huang

    Ph.D. University of Illinois at Chicago.
    Faculty: DePaul University
     
    Jane Cleland-HuangJane's Adviser was:

    Carl K. Chang

    Ph.D. Northwestern University

    Faculty: Iowa State

     
    Stephen S. YauCarl's Adviser was:

    Stephen S. Yau

    Ph.D. University of Illinois at Urbana-Champaign

    Faculty: Northwestern University


     
    Stephen's Adviser was:

    Mac Elwyn Van Valkenburg

    Ph. D. Stanford University

    Dissertation Title: Polarization and Fading Studies of Meteoric Radio Echoes

    Faculty: University of Illinois at Urbana-Champaign

     
    Mac's Adviser was:

    Oswald Garrison Villard, Jr.

    Ph. D. Stanford University

    Dissertation Title: A New Technique for Studying Meteors and the Upper Atmosphere

    Faculty: Stanford University

     
    Oswald's Adviser was:

    Frederick E. Terman

    Sc.D. M.I.T.

    Dissertation Title: Characteristics and Stability of Transmission Systems
    Faculty: Stanford University
    Highlights: Widely known (with William Shockley) as the father of Silicon Valley
    Founding member of the National Academy of Engineering.

     
    Fredrick's Adviser was:

    Vannevar Bush

    Ph.D. M.I.T. & Harvard

    Dissertation Title: Oscillating-current Circuits: An Extension of the Theory of Generalized Angular Velocities, with Applications to the Coupled Circuit and the Artificial Transmission Line

    Faculty: M.I.T.

    Highlights: The first presidential science advisor (FDR), Primary organizer of the Manhattan Project, Proposed the Creation of the National Science Foundation.
    Vannevar's Adviser was:

    Arthur E. Kennelly

    Self Taught!

    Faculty: M.I.T. & Harvard

    Highlights: Apprenticed in Thomas Edison's West Orange lab, Co-created the electric chair

     
    Arthur's Mentor was:

    Thomas Alva Edison

    Arthur had no graduate advisor, but he is one of a few gifted men who has been considered as Thomas A. Edison's mentee. Arthur has been Edison's Ex-Aids and stated "The privilege which I had being with this great man for six years was the greatest inspiration of my life."
     
    My search ends here. Edison was also for sure self-taught, he drop out of his school after a total of three months attendance!

    My hobbies

    I ride my bicycle every day.

    In my free time, I study the architecture of random systems, and sometimes I get my hands dirty and reconstruct the architectures from low -level artifacts. As I don't have time to document them, I just store them in my head, thanks to a good memory.

    News

    I have open research positions for PhD, Masters and Undergrad students. Contact me if interested. Mehdi

    First International Workshop on Bringing Architecture Design Thinking into Developers' Daily Activities (Bridge'16).
    Mehdi

    Now Archie's detection engine is integrated into the Software Assurance Marketplace (SWAMP). SWAMP is a national marketplace that provides continuous software assurance capabilities to security researchers and developers.
    The Archie Plugin for Eclipse and the standalone Archie soon will be ready for the public release.

    Please contact me if you would like to be a Beta tester!!!

    Mehdi

    Please consider submitting your papers to The Fourth International Workshop on the Twin Peaks of Requirements and Architecture, 36th International Conference on Software Engineering (ICSE), June 1st, 2014

    Keywords

    architectural case security component data decisions design cybersecurity links mining quality repositories software study system tactic trace traceability requirements pattern scale code Archaeology

    Archie Smart IDE


    Domain Centric Architecture Recommender System


    How can you use Design Patterns to implement Architectural Tactics? Lessons from Open Source Community


    Identifying and Preserving Knowledge of Architecturally Significant Requirements in Source Code


    A Pattern System for Tracing Architectural Concerns