Anthony S Peruma

Anthony S Peruma

Software Engineering Researcher

Rochester Institute of Technology

Biography

Anthony Peruma is a Computing and Information Sciences Ph.D. student at Rochester Institute of Technology (RIT). As a member of the Source Code Analysis and Natural Language Lab, Anthony’s research interests include program comprehension and refactoring. He received his Master’s in Software Engineering from RIT and Bachelor’s in Computer Application from Bangalore University.

Anthony’s primary research area is around identifier naming in source code. To this extent, he studies how and why identifier names change (or evolve) in the source code by exploring the semantic updates the name undergoes and contextualizing the renames through actions performed by developers. Antony’s overall goal 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.

Interests

  • Program Comprehension
  • Software Refactoring
  • Software Maintenance & Evolution

Education

  • 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

    Thesis

    Advisor: Mohamed W. Mkaouer, PhD

  • Bachelor of Computer Applications

    Bangalore University, Bangalore, India

Experience

 
 
 
 
 

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

Projects

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.