Software Engineering
Research Update
Assistant Professor Nacha Chondamrongkul, PhD.
School of Information Technology
Mae Fah Luang University
Agenda
Software Engineering Research
Landscape
AI & Software Engineering
Research Talk
• Projects-based learning for Software
EngineeringEducation
Aj.Tan
• Online Learning Ecosystem
Aj. Pam
• RespiratoryMonitoring in Sleeping
Environment
Aj. Oil
What is Software Engineering
"Software engineering is an engineering discipline that is
concerned with all aspects of software production from the
early stages of system specification through to maintaining the
system after it has gone into use"
Ian Sommerville (Software Engineering, 9th Edition, 2011)
Multidisciplinary
Engineering
Computer
Science
Management
Software
Engineering
Research
Researches tackle different stages of
ware production to minimise:
"cost / effort / failure"
Software Quality
• Researches tackle the quality of software:
Software Engineering Venues
• General venue: - ICSE (A*), FASE (A), ASE (A), APSEC(B), SEKE(B)
• Requirement Engineering - venue: RE(A)
• Software Design – venue: ICSA(A), ECSA(A)
• Code Development - venue: OOPSLA (A), POPL(A*)
• Testing venue: ICST(A)
• Maintenance & Evolution – venue: SANER(A), ICSME(A)
• Software Engineering Education – venue: ICSEET(A)
AI and SE
Artificial
Intelligence
Software
Engineering
AI for SE, apply AI to
enhance software production
SE for AI, how to engineer AI-based
software
AI for SE This Photo by Unknown author is licensed under CC BY.
Artificial Intelligence
CLASSIFICATION OPTIMISATION SCHEDULING REASONING
Intelligent Test Generation
• Pex – Microsoft Research (ASE'14)
• Automated Test Generation for .Net code
• Use dynamic symbolic execution (Path
exploration)
• Shipped in Visual Studio 2015/2017 as
"IntelliTest"
Intelligent Test
Generation (Cont.)
• Tencent's automatic test generation tool
for WeChat (FSE'16) (ICSE'17)
• Test coverage is a challenge.
• Guided random generation of test
input using Google Monkey
• Deployed in daily wechat practices
• Active 1 billion users (2018)
Software Evolution Planning
• Automated planning of evolution path (ECSA 2020/TOSEM)
• Evolution planning is a challenge as software need to evolve as small
incremental steps support the modernisation
• Apply formal model to enable automated verification
• Apply AI Planning to find safe path to the target design
Security
analysis through
automated
reasoning
• Apply automated reasoning to identify security
characteristics (ICSA'20)
• Focus on blockchain & microservices
• Use OWL & ontology model to represent
software architecturedesign
• Define ontology class to represent security
such as attack surface, least privilege, etc.
• Model checking to simulate the attack that
could happen
Software Analytics
• Software analytic is to enable software engineers to perform
data exploration and analysis in order to obtain insightful and
actionable information for data-driven task around
software and services.
*Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. 2011. Software analytics as a
learning case in practice: approaches and experiences. In Proceedings of the International Workshop on Machine
Learning Technologies in Software Engineering (MALETS '11).
Datasource
Example Research in Software Analytics
• StackMine [ICSE'12] - performance debugging
• Data source: performance call stack traces from windows end user
• Analytics output – ranked cluster of call stack traces
• Impact: Deployed/Used in daily practice of Windows performance
analysis team
• Service Analysis Tool (ASE'13) - service incident management
• Data source: Transaction logs, past incident reports
• Output: Healing suggestions/likely root causes of given incidents
• Impact: deployed and used by important microsoft service
Make machine recognise code
• Code2Vec (POPL'2019)
• Convert source code into Abstract Syntax Tree (AST) and use ML to
learn.
• Let the ML model predict what the source code does.
• https://code2vec.org
• Can be utilised for code searching by given human language, e.g.
GitHub Co-pilot
GitHub Co-pilot
Open Topics in AI for SE
• How to define or determine level of intelligence in software
engineering solution?
• Automation vs. Intelligence
• How to attain high-quantity and high-quality labelled software
data?
• How to transfer research results into industrial practice?
SE for AI
This Photo by Unknown author is licensed under CC BY-SA-NC.
Challenges in AI/Autonomous System
• How to build such systems by combining technique from
software engineering with AI and ML?
• Develop & Test
• How to specify autonomous system behaviour in the face
of unpredictability, in environment: human, physical
objects, other systems
*In search of foundation of next-generation autonomous system,Proc, Natl Acad, USA, 2020
AI system is
complex
• March 18, 2018, self-driving Uber car struck
and killed a victim.
• "Was this algorithmic tragedy inevitable?
And such incidents should we prepare for?
• Software is released into a code universe
which no one can fully understand.
Machine Learning (ML)
ML is a black box.
ML has no test oracle.
Regulation require computer
software to be transparency
ML systems needto be trust-
worthy
Adversarial ML
Testing
• Generate examples that derives from
legitimate examples with slight
modification to induce misclassification
Tian et al, Deep Test, ICSE 2018
DeepBillboard
• DeepBillboard contributes to the
systematic generation of adversarial
examples for misleading steering angle
when perturbations are added to
roadside billboards.
• An attacker may easily construct a
physical world billboard to affect the
steering decision
H. Zhou et al., "DeepBillboard: SystematicPhysical-World Testing of Autonomous Driving Systems," 2020 IEEE/ACM 42nd
International Conferenceon Software Engineering (ICSE),2020,pp. 347-358.
Requirement and Testing of AI
system is a challenge
• In 2014, Amazon tried building AI tool to
help with recruiting but the tool was
discriminating against women; in 2017,
Amazon abandoned the tools
• Data source: predominantly male
resumes submitted to Amazon over 10-
year period as candidates
• Fairness testing: testing software for
discrimination (Galhotra et al.
ESEC/FST'17)
This Photo by Unknown author is licensed under CC BY.
Challenges in ML Model Deployment
Open Challenges in Deployment
Reliability in ML-related library
• Detecting Numerical Bugs in NN Architecture
Yuhao Zhang, Luyao Ren, Liqian Chen, Yingfei Xiong, Shing-Chi Cheung, and Tao Xie. 2020. Detecting
numerical bugs in neural network architectures. In Proceedings of the 28th ACM Joint Meeting on
European Software Engineering Conference and Symposium on the Foundations of Software Engineering
(ESEC/FSE 2020).
SE for AI - Open Challenges
• How to specify requirement for intelligence software
• How to tackle the complexity of integrating software with the
rest of the system.
• How to define/verify test oracle (or properties) for intelligence
software.
• How to design high-quality library for developing intelligence
software.
• How to transfer research results into industrial practice.
Thank you
Q&A

More Related Content

PPTX
Self Adaptive Systems
PDF
AI for Software Engineering
PPTX
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
PPTX
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
PDF
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
PPTX
Intelligent Software Engineering: Synergy between AI and Software Engineering
PDF
Measuring Agile Software Development
PDF
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
Self Adaptive Systems
AI for Software Engineering
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
Intelligent Software Engineering: Synergy between AI and Software Engineering
Measuring Agile Software Development
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...

What's hot (20)

PDF
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
PPTX
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
PPT
Lo 04
PDF
Planning and Executing Practice-Impactful Research
PDF
Intelligent Software Engineering: Synergy between AI and Software Engineering...
PDF
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
PDF
Software Analytics: Data Analytics for Software Engineering and Security
PDF
software engineering
PPTX
UMLassure: An approach to model software security
PPT
ICT Needs and Trends in Engineering Education
PPT
Introduction to Enginnering
PPTX
What is the Future of Systems Engineering?
PDF
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
PDF
Past and Future of Software Testing and Analysis
PDF
Testing the Intelligence of your AI
PPTX
What is Computer Science
PPTX
Towards Mining Software Repositories Research that Matters
PDF
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
PPTX
PDF
Evaluation of Prototypes and the Problem of Possible Futures
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
Lo 04
Planning and Executing Practice-Impactful Research
Intelligent Software Engineering: Synergy between AI and Software Engineering...
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
Software Analytics: Data Analytics for Software Engineering and Security
software engineering
UMLassure: An approach to model software security
ICT Needs and Trends in Engineering Education
Introduction to Enginnering
What is the Future of Systems Engineering?
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
Past and Future of Software Testing and Analysis
Testing the Intelligence of your AI
What is Computer Science
Towards Mining Software Repositories Research that Matters
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
Evaluation of Prototypes and the Problem of Possible Futures
Ad

Similar to Se research update (20)

PPTX
Intelligent Software Engineering: Synergy between AI and Software Engineering
PDF
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...
PDF
Impact of IEEE Computer Society in Advancing Software Engineering and Emergin...
PDF
H1803044651
PPTX
Software Analytics: Towards Software Mining that Matters (2014)
PDF
SRCenabling application development for the internet of things
PDF
Seminar VU Amsterdam 2015
PDF
IEEE Computer Society 2024 Technology Predictions Update
PDF
PDF
Machine Learning Software Engineering Patterns and Their Engineering
PDF
202212APSEC.pptx.pdf
PDF
01 - Course setup software sustainability
PPTX
Role of artificial intellligence in construction engg & management
PDF
Opening, 1st International Workshop on Patterns and Practices of Reliable AI ...
PDF
Software Architecture in an Agile World
PDF
Studying Software Engineering Patterns for Designing Machine Learning Systems
PDF
[2015/2016] Software systems engineering PRINCIPLES
PDF
Using Algorithmia to leverage AI and Machine Learning APIs
PDF
Week 12: Cloud AI- DSA 441 Cloud Computing
PPTX
Advanced topics in software. Software engineering in the PMP
Intelligent Software Engineering: Synergy between AI and Software Engineering
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...
Impact of IEEE Computer Society in Advancing Software Engineering and Emergin...
H1803044651
Software Analytics: Towards Software Mining that Matters (2014)
SRCenabling application development for the internet of things
Seminar VU Amsterdam 2015
IEEE Computer Society 2024 Technology Predictions Update
Machine Learning Software Engineering Patterns and Their Engineering
202212APSEC.pptx.pdf
01 - Course setup software sustainability
Role of artificial intellligence in construction engg & management
Opening, 1st International Workshop on Patterns and Practices of Reliable AI ...
Software Architecture in an Agile World
Studying Software Engineering Patterns for Designing Machine Learning Systems
[2015/2016] Software systems engineering PRINCIPLES
Using Algorithmia to leverage AI and Machine Learning APIs
Week 12: Cloud AI- DSA 441 Cloud Computing
Advanced topics in software. Software engineering in the PMP
Ad

Recently uploaded (20)

PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PPTX
Microsoft User Copilot Training Slide Deck
PDF
Auditboard EB SOX Playbook 2023 edition.
PPTX
future_of_ai_comprehensive_20250822032121.pptx
PDF
SaaS reusability assessment using machine learning techniques
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Module 1 Introduction to Web Programming .pptx
LMS bot: enhanced learning management systems for improved student learning e...
MuleSoft-Compete-Deck for midddleware integrations
EIS-Webinar-Regulated-Industries-2025-08.pdf
giants, standing on the shoulders of - by Daniel Stenberg
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Microsoft User Copilot Training Slide Deck
Auditboard EB SOX Playbook 2023 edition.
future_of_ai_comprehensive_20250822032121.pptx
SaaS reusability assessment using machine learning techniques
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
NewMind AI Weekly Chronicles – August ’25 Week IV
Introduction to MCP and A2A Protocols: Enabling Agent Communication
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Improvisation in detection of pomegranate leaf disease using transfer learni...
Basics of Cloud Computing - Cloud Ecosystem
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf

Se research update

  • 1. Software Engineering Research Update Assistant Professor Nacha Chondamrongkul, PhD. School of Information Technology Mae Fah Luang University
  • 3. Research Talk • Projects-based learning for Software EngineeringEducation Aj.Tan • Online Learning Ecosystem Aj. Pam • RespiratoryMonitoring in Sleeping Environment Aj. Oil
  • 4. What is Software Engineering "Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use" Ian Sommerville (Software Engineering, 9th Edition, 2011)
  • 6. Software Engineering Research Researches tackle different stages of ware production to minimise: "cost / effort / failure"
  • 7. Software Quality • Researches tackle the quality of software:
  • 8. Software Engineering Venues • General venue: - ICSE (A*), FASE (A), ASE (A), APSEC(B), SEKE(B) • Requirement Engineering - venue: RE(A) • Software Design – venue: ICSA(A), ECSA(A) • Code Development - venue: OOPSLA (A), POPL(A*) • Testing venue: ICST(A) • Maintenance & Evolution – venue: SANER(A), ICSME(A) • Software Engineering Education – venue: ICSEET(A)
  • 9. AI and SE Artificial Intelligence Software Engineering AI for SE, apply AI to enhance software production SE for AI, how to engineer AI-based software
  • 10. AI for SE This Photo by Unknown author is licensed under CC BY.
  • 12. Intelligent Test Generation • Pex – Microsoft Research (ASE'14) • Automated Test Generation for .Net code • Use dynamic symbolic execution (Path exploration) • Shipped in Visual Studio 2015/2017 as "IntelliTest"
  • 13. Intelligent Test Generation (Cont.) • Tencent's automatic test generation tool for WeChat (FSE'16) (ICSE'17) • Test coverage is a challenge. • Guided random generation of test input using Google Monkey • Deployed in daily wechat practices • Active 1 billion users (2018)
  • 14. Software Evolution Planning • Automated planning of evolution path (ECSA 2020/TOSEM) • Evolution planning is a challenge as software need to evolve as small incremental steps support the modernisation • Apply formal model to enable automated verification • Apply AI Planning to find safe path to the target design
  • 15. Security analysis through automated reasoning • Apply automated reasoning to identify security characteristics (ICSA'20) • Focus on blockchain & microservices • Use OWL & ontology model to represent software architecturedesign • Define ontology class to represent security such as attack surface, least privilege, etc. • Model checking to simulate the attack that could happen
  • 16. Software Analytics • Software analytic is to enable software engineers to perform data exploration and analysis in order to obtain insightful and actionable information for data-driven task around software and services. *Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. 2011. Software analytics as a learning case in practice: approaches and experiences. In Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering (MALETS '11).
  • 18. Example Research in Software Analytics • StackMine [ICSE'12] - performance debugging • Data source: performance call stack traces from windows end user • Analytics output – ranked cluster of call stack traces • Impact: Deployed/Used in daily practice of Windows performance analysis team • Service Analysis Tool (ASE'13) - service incident management • Data source: Transaction logs, past incident reports • Output: Healing suggestions/likely root causes of given incidents • Impact: deployed and used by important microsoft service
  • 19. Make machine recognise code • Code2Vec (POPL'2019) • Convert source code into Abstract Syntax Tree (AST) and use ML to learn. • Let the ML model predict what the source code does. • https://code2vec.org • Can be utilised for code searching by given human language, e.g. GitHub Co-pilot
  • 21. Open Topics in AI for SE • How to define or determine level of intelligence in software engineering solution? • Automation vs. Intelligence • How to attain high-quantity and high-quality labelled software data? • How to transfer research results into industrial practice?
  • 22. SE for AI This Photo by Unknown author is licensed under CC BY-SA-NC.
  • 23. Challenges in AI/Autonomous System • How to build such systems by combining technique from software engineering with AI and ML? • Develop & Test • How to specify autonomous system behaviour in the face of unpredictability, in environment: human, physical objects, other systems *In search of foundation of next-generation autonomous system,Proc, Natl Acad, USA, 2020
  • 24. AI system is complex • March 18, 2018, self-driving Uber car struck and killed a victim. • "Was this algorithmic tragedy inevitable? And such incidents should we prepare for? • Software is released into a code universe which no one can fully understand.
  • 25. Machine Learning (ML) ML is a black box. ML has no test oracle. Regulation require computer software to be transparency ML systems needto be trust- worthy
  • 26. Adversarial ML Testing • Generate examples that derives from legitimate examples with slight modification to induce misclassification Tian et al, Deep Test, ICSE 2018
  • 27. DeepBillboard • DeepBillboard contributes to the systematic generation of adversarial examples for misleading steering angle when perturbations are added to roadside billboards. • An attacker may easily construct a physical world billboard to affect the steering decision H. Zhou et al., "DeepBillboard: SystematicPhysical-World Testing of Autonomous Driving Systems," 2020 IEEE/ACM 42nd International Conferenceon Software Engineering (ICSE),2020,pp. 347-358.
  • 28. Requirement and Testing of AI system is a challenge • In 2014, Amazon tried building AI tool to help with recruiting but the tool was discriminating against women; in 2017, Amazon abandoned the tools • Data source: predominantly male resumes submitted to Amazon over 10- year period as candidates • Fairness testing: testing software for discrimination (Galhotra et al. ESEC/FST'17) This Photo by Unknown author is licensed under CC BY.
  • 29. Challenges in ML Model Deployment
  • 30. Open Challenges in Deployment
  • 31. Reliability in ML-related library • Detecting Numerical Bugs in NN Architecture Yuhao Zhang, Luyao Ren, Liqian Chen, Yingfei Xiong, Shing-Chi Cheung, and Tao Xie. 2020. Detecting numerical bugs in neural network architectures. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2020).
  • 32. SE for AI - Open Challenges • How to specify requirement for intelligence software • How to tackle the complexity of integrating software with the rest of the system. • How to define/verify test oracle (or properties) for intelligence software. • How to design high-quality library for developing intelligence software. • How to transfer research results into industrial practice.