Emerging Software Technologies

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