
Accessible Block-Based Programming Environments for the Visually Impaired
Research focuses on the use of audio cues and workflow design to support access to visual language programming environments for programmers with visual impairments. Results may improve ease of code navigation and facilitate focus on conceptual understanding over initial struggles in language syntax.

Android Application Permissions
My research focuses on examining the permissions used in Android applications. I am currently focusing on user comprehension of the Android permission structure, developer use of specific permissions, and possible vulnerabilities in Android apps due to permissions misused. I am also analyzing how malware uses Android permissions for attacks. My work is largely conducted through the collection and subsequent reverse engineering of the examined app.

Attack Surface Metrics
Software systems are like castles: every entrance and exit must be carefully designed and closely guarded. When software engineers view their system in terms of an "attack surface", they can examine the entry points an attackers will try use to break in. Armed with this metaphor, developers can better understand how security risk fluctuates as they write code. In this study, we examine ways of estimating security risk by analyzing the interconnected web of method calls that go into large software systems, and examine correlations with historical vulnerabilities.

CyberCorps: Scholarship for Service
To meet the growing demand for cybersecurity professionals today, the National Science Foundation is providing full tuition and stipend to SE students who pursue computing security. In exchange, students will work an equivalent time for the US government. Through a rigorous mentoring program that emphasizes research projects, scholarship recipients in CyberCorps at RIT will work with Computer Science and Computing Security majors on cutting-edge research projects to round out their skill set. Scholars are also enrolled in the accelerated BS/MS program for a BS in SE and an MS in Computing Security. For more information, go to http://cybercorps.rit.edu/

K12 Computer Science Tool Support for Students who are Visually Impaired
Research focuses on the design of programming and data analysis tools to provide universal access to programming, robotics, and data analysis for curricula such as ECS (Exploring Computer Science) and CSP (Computer Science Principles). Tools include software, as well as tactile activities to support kinesthetic learning in and out of the classroom. Results can broaden participation in Computer Science and related fields.

Research Area: Software Requirements and Architecture Design
The research focuses on utilizing advanced data mining and information retrieval techniques to develop (semi)automated tools that can help developers in solving their daily software engineering problems. In particular, we are working on challenges in the area of software requirements, software architecture design, implementation and maintenance, software security architecture and the inter-dependencies between these fields. For further information, please contact Dr. Mehdi Mirakhorli.

Software Process Improvement for Scientific Software Developers
Software plays an important role in scientific research. Often, scientists write their own software without the help of software engineers. This results in questionable software quality, low software development productivity, lack of reproducibility of results, and other issues that impact the quality of the scientific research. Our research aims to improve the way that scientists develop software. Current research studies are using surveys and interviews to determine how scientists create software and make decisions about their software development approaches. The long-term goal is to develop a Scientific Software Process Improvement Framework (SciSPIF), which is a decision support system that provides proven software engineering practices to address the specific concerns of scientific software development projects.