Skip to content

Research

The Intelligent Software Engineering Research Laboratory (ISERL) hosts research and development projects in the fields of software engineering, software optimization, intelligent systems architecture, data analysis, and artificial intelligence. The results of these projects are primarily published in the most prestigious journals and conferences in the computer science and engineering.

Research and Educational Groups

ISERL's research is organized into three specialized groups: the Software Testing and Debugging Group, which enhances software reliability through automated testing, fault localization, and security analysis; the Software Design and Architecture Group, which focuses on refactoring, reengineering, and quality assessment to improve software maintainability; and the Software Methodologies and Requirements Engineering Group, which advances agile practices, requirements traceability, and conceptual modeling to refine development processes. Together, these groups drive innovation in software engineering, ensuring high-quality, efficient, and scalable systems.

Software Testing and Debugging Group

  • Automated test data and oracle generation, input fuzzing, input domain analysis, GUI testing, symbolic and concolic execution, security testing, metamorphic testing, in-vivo testing, test suit minimization, test case prioritization and selection, and test set amplification.

  • Automated fault localization, fault (bug) prediction, vulnerability prediction, software anomaly detection, program instrumentation, dynamic program analysis, taint analysis, and patch generation.

Software Design and Architecture Group

  • Automated refactoring, software clustering, remodularization, reengineering, reverse engineering, static program analysis, program transformation, program optimization, design automation, and inverse design.

  • Code smells prediction, design smells detection, design pattern detection, clean code and clean architecture evaluation, architecture smells detection, code clone detection, source code representation and similarity measurement, software benchmarking, and quality attributes measurement and improvement.

Software Methodologies and Requirements Engineering Group

  • Requirements smell detection, requirements traceability links prediction, conceptual model generation, code generation, comment generation, and acceptance test criteria generation.

  • Agile methodologies and practices (TDD, BDD, DDD), DevOps, MLOps, CICD, domain-specific languages, and technical debt measurement.

Research Projects and Products

  • OpenUnderstand: Code search engine
  • CodART: Refactoring engine
  • QualCode: ISO/IEC 25010 implementation
  • QualityMetter: Quality attributes measurement
  • ADAFEST: Testability prediction
  • ARTA: Requirement analysis engine
  • DeepFuzz: PDF input fuzzing
  • NEXMA: Non-executable malware analysis
  • TsDD: Testability-driven development apparatus

Underlying Techniques

  • Compilers, transpilers, complex graph analysis, evolutionary algorithms, machine learning, deep learning, natural language processing, and statistical analysis.