Anthony S. Peruma

Anthony S. Peruma

Assistant Professor

University of Hawai‘i at Mānoa


Anthony Peruma is an Assistant Professor in the Information and Computer Sciences Department at the University of Hawai‘i at Mānoa. Anthony holds a Ph.D. in Computing and Information Sciences, a Master’s in Software Engineering from Rochester Institute of Technology, and a Bachelor’s in Computer Application from Bangalore University, India.

As a member of the Source Code Analysis and Natural Language Lab, Anthony’s research is around program comprehension. More specifically, Anthony studies identifier names in the source code by investigating how and why identifier names change (or evolve) in the source code. Anthony’s research aims to improve developer productivity by constructing a linguistic model to assist developers in identifying poor-quality identifier names and recommending appropriate replacements.

Additionally, Anthony also possesses hands-on experience in the software development industry, working on software projects for clients in multiple industries. Anthony’s industry experience includes consulting, designing, implementation, project management, and sales.


  • Program Comprehension
  • Software Refactoring
  • Software Maintenance & Evolution


  • Ph.D. in Computing and Information Sciences

    Rochester Institute of Technology, New York, USA

    Advisor: Christian D. Newman, PhD

  • M.Sc. in Software Engineering

    Rochester Institute of Technology, New York, USA


    Advisor: Mohamed W. Mkaouer, PhD

  • Bachelor of Computer Applications

    Bangalore University, Bangalore, India



Assistant Professor

University of Hawai‘i at Mānoa

Aug 2022 – Present Honolulu, Hawai‘i, USA

Responsibilities include:

  • Teaching graduate and undergraduate courses
  • Conducting research
  • Academic advisor to students
  • Participation in department and university committees

Software Architect

Virtusa Corporation

Oct 2010 – Jul 2016 USA & Sri Lanka

Responsibilities include:

  • Requirement Analysis
  • Solution Architecture
  • Technical Delivery Management
  • Resource Planning, Management and Development
  • Strategic Planning and Client Management

Technology Lead

Virtusa Corporation

Jan 2008 – Oct 2010 USA & Sri Lanka

Responsibilities include:

  • Technical Design & Modeling
  • Information Architecture Design
  • Client Liaison
  • Lead Reviews
  • Team Mentoring

Software Engineer

Virtusa Corporation

Aug 2004 – Jan 2008 USA & Sri Lanka

Responsibilities include:

  • Requirements Elicitation
  • Prototype Development
  • Requirements Implementation
  • Application Deployment
  • Production Support


Identifier Renames

In this project, through a series of studies, we aim to model the relationship between the name of an identifier and the behavior of the source code entity it represents.

Test Smells

This project seeks to extend the existing test smell catalog by adding new types of test smells. Additionally, we make available an open-source tool to detect the different smell types in the source code.

Mobile Inclusive Learning Kit (MILK)

‘MILK’ modules are classroom ready educational components which teach students and developers how to create accessible mobile applications, and demonstrate the importance of creating these apps.

Android Permissions

This project focuses on Android’s permission model. More specifically, we examine how developers apply Android permission privileges in their apps.