Software Engineering

Software Engineering

LISTEN
Cemal Yılmaz
Cemal Yılmaz
Software Engineering
  • Feedback Driven Combinatorial Interaction Testing
  • Lightweight Online Failure Prediction

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.

Our broad research interest in Software Engineering Research Group (SUSOFT) is on programmer productivity with a special focus on software quality assurance. We develop practical techniques and tools to help programmers create cheaper, faster, and more reliable software systems. The topics we study include, but not limited to software testing, software security, applications of artificial intelligence in software engineering, applications of software engineering in artificial intelligence, automated debugging, dynamic program analysis, and data-driven program analysis.

Further Information
Hüsnü Yanigün
Hüsnü Yenigün
  • Formal Methods
    Formal Methods

    Formal Methods are techniques that are based on rigorous mathematical foundations to analyze systems. Traditional system validation through testing requires an implementation to exist to start the analysis, hence can be performed late in the system design life cycle. Formal methods, on the other hand, can be applied much earlier by building formal models of different system aspects such as requirements, architecture, behavior, etc. The analysis of these formal models allows detection of faults that would possibly go into the implementation of the system undetected. Formal behavioural models also allow automated generation of high quality test cases. Our research focuses on formal approaches to testing.