Anthony S. Peruma

Anthony S. Peruma

Software Engineering Researcher

Rochester Institute of Technology


Anthony Peruma is a Computing and Information Sciences Ph.D. candidate at Rochester Institute of Technology (RIT). Anthony also holds a Master’s in Software Engineering from RIT and 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. The overall goal of Anthony’s research is to improve developer productivity by constructing a linguistic model to assist developers, in realtime, to identify poor quality identifier names and recommend 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



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.