My name is Pouria Derakhshanfar. I am a senior researcher in the Intelligent Collaboration Tools Lab (ICTL) of the JetBrains Research. Earlier, I obtained my Ph.D. in Computer Science from the Delft University of Technology, where I defended my dissertation, entitled “Carving Information Sources to Drive Search-Based Crash Reproduction and Test Case Generation”. During my Ph.D., I was involved in an EU H2020 funded project, called Software Testing AMPlification (STAMP), where I developed new search-based approaches for crash replication and test amplification in a DevOps context.

My career goal is to combine human and artificial intelligence to implement tools and techniques to ease software development and testing tasks in industrial software projects.

Interests

  • Software Test Case Generation
  • Search-based Software Engineering
  • Software Engineering for Cyber-physical Systems
  • Software Test Amplification
  • AI for Software Engineering

Education

  • Ph.D. in Computer Science, 2021

    Delft University of Technology

  • MSc in Software Engineering, 2017

    Sharif University of Technology

Latest news

My Tools

  • Botsing (2018-current): An open-source search-based crash reproduction framework.
  • Cling (2019-current): An open-source search-based test generation tool for class integration testing.
  • ExRunner (2018-current): A bash-based infrastructure for running multiple instances of crash reproduction tools on 200 hard-to-reproduce crashes. ExRunner can be used to perform empirical evaluations of different crash reproduction techniques.
  • TestKnight (2021-current): A plugin for IntelliJ IDEA that helps developers in writing automatic tests. This plugin allows developers to design test-suites based on structural and side-effect analysis of the code as well as inspect how the test-suite evolves.
  • SDC-prioratizer (2021-current): A test case prioritization tool for self-driving cars. This tool prioritizes virtual tests for self-driving cars according to static features of the roads used within the driving scenarios.
  • TestKnight (2022-current): A plugin for IntelliJ IDEA that re-introduces how an automated test generator can be used in the development environment. With this tool, developers can ask TestGenie to generate a test case covering any testing goal (e.g., an uncovered line or branch in the software under test). The test generated by TestGenie will be suggested to developers a couple of minutes after the request. Then, the developer can either use the test as it is or the test can be modified and integrated into the automated testing framework.