Students

Research Opportunities & Mentorship

Looking for motivated students interested in software engineering research and applications. Join our team to explore cutting-edge topics in code analysis, testing, and software quality.

Join Our Research Team

I'm looking for students (undergraduate, master's, or PhD) who are passionate about software engineering research and applications. Whether you have a specific topic in mind or want to explore the areas below, I'm excited to work with motivated students who want to make an impact in software engineering.

Our research group provides a collaborative environment where you can develop both technical skills and research methodology. We work on real-world problems and publish our findings at top-tier conferences and journals in software engineering.

Current Research Opportunities

Scalable Code Clone Search Using Code Vector Representation

This project aims to leverage the infrastructure of Siamese to make code clone search using code vector representation scalable to large code bases such as Stack Overflow or GitHub.

Supported by: Research Grant for New Scholar (RGNS 2021) - Ministry of Higher Education Science Research and Innovation (MHESRI)

Automated Recommendation of Pythonic Idioms

A follow-up work from the Teddy project. We aim to not only detect non-Pythonic code snippets but also recommend how to transform them into Pythonic idioms.

Developer Awareness of Code Clones

Investigate developer awareness of clones during code changes by leveraging code review processes and automatic clone detection. This work has potential for collaboration with GESAD researchers (UECE, Brazil).

Code Clone Detection Using Coding Style

Based on the naturalness of software, investigate how a programmer's coding style can indicate code copying and pasting. Develop techniques to identify coding style and detect style conformity.

Additional Research Topics

Automated Software License Identification Using Deep Learning

Deep Learning & Software Licensing

Train a deep learning model to predict software licenses based on license text. Benefits include analysis of software licenses on GitHub and automatic detection of license conflicts.

Virtual Reality-Based Software Visualization

VR Technology & Software Engineering

Explore applications of the latest VR technology to visualize software projects and help programmers understand their software better through immersive experiences.

Automated Testing for 3D Games

Game Testing & Search-Based Testing

Develop automated testing techniques specifically for 3D games. There's potential to adopt search-based testing techniques successfully applied to traditional software on games.

Code Proficiency Analysis and Assessment

Educational Technology & Code Analysis

Build on our pycefr and jscefr tools to develop comprehensive frameworks for assessing coding proficiency across different programming languages and contexts.

Software Engineering for Data Science (SE4DS)

Data Science & Software Engineering

Study the adoption of software engineering practices in data science projects and develop tools to improve the quality of data science software.

Automated Vulnerability Detection in Code

Security & Static Analysis

Develop automated techniques to detect security vulnerabilities in source code using static analysis and machine learning approaches.

Research Environment & Benefits

Academic Development

  • Publish at top-tier conferences and journals
  • Develop strong research methodology skills
  • Present work at international conferences
  • Build a strong academic network

Technical Skills

  • Work with cutting-edge tools and technologies
  • Develop software engineering expertise
  • Learn industry-standard practices
  • Gain experience with large-scale systems

International Collaboration

  • Collaborate with researchers worldwide
  • Access to international research networks
  • Opportunities for research visits abroad
  • Work on globally relevant problems

Supportive Environment

  • Regular mentoring and guidance
  • Collaborative research group atmosphere
  • Access to computing resources
  • Flexible research schedules

How to Apply

If you're interested in any of these research topics or have your own ideas, please don't hesitate to reach out! I'm always excited to discuss potential research collaborations with motivated students.

What to include in your initial contact:

  • Your background and current academic status
  • Research interests and why you're interested in software engineering
  • Any relevant experience or projects
  • Your timeline and availability
  • Specific topics that interest you (if any)