I am interested in exploring the interactions between software engineering and some emerging technologies, e.g., machine learning, blockchain, and natural language processing.
Software engineering for cloud services
Applied machine learning techniques can be utilized to monitor the health of software and hardware components on the cloud to ensure reliable and uninterrupted service operation. At the same time, blockchain techniques are leveraged to secure tamper-proof log storage for future audits and protection of sensitive log data.
Employing artificial neural networks to detect anomalies in cloud services
• M. S. Islam, W. Pourmajidi, L. Zhang, J. Steinbacher, T. Erwin and A. Miranskyy, Anomaly detection in a large-scale cloud platform, ICSE 2021. link preprint
Applying blockchain techniques for cloud service log preservation
• W. Pourmajidi, L. Zhang, J. Steinbacher, T. Erwin and A. Miranskyy, Immutable log storage as a service on private and public blockchains, Transactions on Services Computing, 2021. link preprint
• W. Pourmajidi, L. Zhang, A. Miranskyy, T. Erwin, D. Godwin and J. Steinbacher, The challenging landscape of cloud-monitoring, accepted in the book of “Knowledge Management in Development of Data-Intensive Systems”, 2020. link
• W. Pourmajidi, L. Zhang, J. Steinbacher, T. Erwin, and A. Miranskyy, Immutable log storage as a service, Poster ICSE 2019. link
NLP and SE
Natural language processing (NLP) can be utilized to process documentation of software engineering (SE) in order to extract terms, interactions, and trends in SE.
• J. Baskararajah, L. Zhang, A. Miranskyy, Term interrelations and trends in software engineering, ESEC/FSE 2021. link preprint