Dr. Csaba Nagy

I'm a Software engineer

About

“To accomplish something extraordinary, one must have an extraordinary dream. A goal so high, a journey so demanding that its achievement to most seems impossible.” — IM

Software Engineer and Researcher.

I am a freelance software engineer based in Zurich, Switzerland. Previously, I was a postdoc researcher of the REVEAL research group at the Software Institute of Università della Svizzera italiana, led by Prof. Michele Lanza. I have also served as an adjunct faculty member at the University of Szeged, where I earned my Ph.D. in Informatics in 2014 under the guidance of Prof. Tibor Gyimóthy and Prof. Rudolf Ferenc. Additionally, I completed my MSc in Computer Programming in Economics at the University of Szeged. After my Ph.D., I spent two years as a postdoctoral researcher at the University of Namur, supervised by Prof. Anthony Cleve.

My professional endeavors have consistently been motivated by compelling challenges within the software engineering sector. During my academic career, I took great pleasure in contributing to research initiatives that culminated in the development of software utilized by software developers. Subsequently, I had the privilege of planning and leading research and development projects that involved collaboration with multiple companies and developers. I continually seek opportunities to engage in new projects that present challenging problems.

Research

“The important thing is not to stop questioning. Curiosity has its own reason for existence.” – Albert Einstein

Conference Papers

Journal Articles

Book Chapters

Conference Committee

Resume

“First, solve the problem. Then, write the code.” – John Johnson

Professional Experience - Main Positions

Software Engineer

01.2024 – present

Freelance, Zurich, Switzerland

Postdoctoral Researcher

02.2018 – 12.2023

REVEAL Research Group, Software Institute, Università della Svizzera italiana (USI), Lugano, Switzerland

Adjunct Faculty

12.2015 – 02.2018

Department of Software Engineering, University of Szeged, Szeged, Hungary

Teaching Assistant

05.2014 – 11.2015

Department of Software Engineering, University of Szeged, Szeged, Hungary

Ph.D. Student

09.2007 – 05.2014

Department of Software Engineering, University of Szeged, Szeged, Hungary


Professional Experience - Grants/Fellowships

Postdoctoral Researcher

02.2017 – 02.2018

PReCISE Research Center, University of Namur, Namur, Belgium

Postdoctoral Researcher

09.2014 – 08.2015

PReCISE Research Center, University of Namur, Namur, Belgium

Predoctoral Fellow

09.2010 – 08.2012

Department of Software Engineering, University of Szeged, Szeged, Hungary

HAESF Professional Internship Fellow

03.2008 – 08.2008

Drexel University, Philadelphia, USA

Education

Ph.D. in Informatics

2007 – 2014

Ph.D. School in Computer Science, University of Szeged, Szeged, Hungary

Programmer in Economics, BSc+MSc

2002 – 2007

Faculty of Science, University of Szeged, Szeged, Hungary

Research Interest

“Research is to see what everybody else has seen, and to think what nobody else has thought.” – Albert Szent-Györgyi

Program Analysis

Analyzing source code, i.e., implementing parsers, working with syntax trees for static checkers or optimization algorithms in compilers.

Software Quality & Refactoring

Supporting the maintenance of software systems, analyzing source code quality, identifying smells and optimization opportunities, implementing automatic refactorings.

Data-Intensive Systems

Optimizing software-database interactions through the analysis of SQL code embedded in client code, looking for potential problems, performance issues.

Software Visualization

Use of visual representations to understand and analyze software systems, serving purposes such as aiding code comprehension and supporting software evolution and maintenance by revealing dependencies and changes.

AI for Software Engineering

Applying artificial intelligence techniques to automate and enhance various aspects of the software development lifecycle, with purposes such as accelerating code completion by suggesting relevant code snippets and improving software maintenance and evolution through automated code analysis and refactoring suggestions.

Empirical Software Engineering

Investigating software development and maintenance practices and technologies through empirical means, such as controlled experiments, case studies, and mining software repositories.