|

About us:
Welcome to the Intelligent CAT lab! We love to make Code Analysis
and Testing more effective by leveraging recent advances in Machine
Learning.
Here, we dont just solve problems, but we solve
them in a novel and impactful ways.
Are you interested to purr with us? If so, send an email to the
Director of the lab (reyhaneh@illinois.edu) to inquiry about open
positions.
UIUC students:
- Graduate
students
- Undergrad
students
- Palak Kotwani (Summer 2022)
- Eesha Ramkumar (Summer 2022)
- Anthony Huerta
(Summer 2021, GearUP program)
- Swathi Ram
(Spring 2021)
Visiting students (UIUC
Software Engineering Summer Research Program):
- Undergrad
students
- Alperen Yildiz (Sabanci Unievrsity,
Turkey, Summer 2021-present)
- Daim Armaghan
(Lahore University of Management Sciences, Pakistan, Summer 2022)
- Süleyman Ateş
(Middle East Technical University, Turkey, Summer 2022)
- Emirhan Bayar (Middle East Technical
University, Turkey, Summer 2022)
- Emin Cihangeri
(Middle East Technical University, Turkey, Summer 2022)
- Furkan Genç (Middle East Technical University,
Turkey, Summer 2022)
- Chung-En Ho (National Taiwan University, Taiwan,
Summer 2022)
- Yung-Wen Huang
(National Taiwan University, Taiwan, Summer 2022)
- Mustafa Mert Köse (Middle
East Technical University, Turkey, Summer 2022)
- Selim Kuzuku (Middle East Technical University,
Turkey, Summer 2022)
- Julfikar Mahbub (BRAC University, Bangladesh,
Summer 2022)
- Manami Mondal (IIT Kharagpur, India, Summer
2022)
- Mohamed Moustafa (German Internation
University, Egypt, Summer 2022)
- Onat Özdemir
(Middle East Technical University, Turkey, Summer 2022)
- Eren Polat (Bilkent University, Turkey, Summer 2022)
- Trusha Talati
(Sardar Patel Institute of Technology, India, Summer 2022)
- Zelin Wang (UC Berkeley/Nanjiang
University, China, Summer 2022)
- Lily Yang
(University of Waterloo, CA, Summer 2022)
- Gorkay Aydemir
(Middle East Technical University, Turkey, Summer 2021)-Next:
PhD at EPFL
- Oussama Bezzad (Al Akhawayn
University, Morocco, Summer 2021)
- Mehmet Arif Demirtas
(Istanbul Technical University, Turkey, Summer 2021)
- Said Gurbuz (Middle East Technical University,
Turkey, Summer 2021)
- Ali Reza Ibrahimzada (Marmara University, Turkey,
Summer 2021-Summer 2022)-Next: PhD at UIUC
- Elif Ecem Samlioglu (Sabanci
University, Turkey, Summer 2021)
- Hui Li Tao (Zhejiang
University, China, Summer 2021): MS at Cornell Tech
- Dilara Tekinoglu (Sabanci
University, Turkey, Summer 2021)-Next: PhD at UMass Amherst
- Yigit Varli (Middle
East Technical University, Turkey, Summer 2021)
- Qinchen Yang (NYU, Summer 2021)-Next: PhD
at Rutgers
- Aral Yekta Yarimca
(Middle East Technical University, Turkey, Summer 2021)
- High School
students
- Ryan Rong
(Peddie High School, NJ, Summer 2022)
- Ansh Gupta (Washington High School, CA,
Summer 2021)-Next: Undergrad at Georgia Tech
Current Projects:
Given
an input to the software, the challenge of distinguishing the expected,
correct behavior from the incorrect one is called test oracle problem.
Absence of automated test oracles demands human to decide whether
observed behavior and generated output is correct, increasing the cost
of testing to a great extent. Intelligent CATs are working on several
projects to advance the research and practice of test oracle
automation.
Papers: [FSE'20], [FSE'22]
Past Projects:
- Energy
testing of Android apps
The
rising popularity of mobile apps deployed on battery-constrained
devices has motivated the need for effective and efficient energy-aware
testing techniques. However, currently there is a lack of test
generation tools for exercising the energy properties of apps.
Automated test generation is not useful without tools that help
developers to measure the quality of the tests. Additionally, the collection
of tests generated for energy testing could be quite large, as it may
involve a test suite that covers all the energy-greedy parts of the
code under different use cases. Thereby, there is a need for techniques
to manage the size of test suite, while maintaining its effectiveness
in revealing energy defects. This research proposes a four-pronged
approach to advance energy testing for mobile applications, including
techniques for energy-aware test input generation, energy-aware test
oracle construction, energy-aware test-suite adequacy assessment, and
energy-aware test-suite minimization.
Papers: [FSE'20], [ICSE'19], [ICSE'18], [FSE'17], [ISSTA'16]
- Permission
analysis of Android apps
Permissions
are the cornerstone for Android security model, as they enable secure
access to sensitive resources of the phone. Consequently, improper use
of Android permission model can lead to permission-induced issues that
disrupt the functional and non-functional behavior of the apps.
However, due to the lack of automated tools for detecting such issues,
many of those defects are shipped with the final product, which not
only dissatisfies end users but also poses security risks to their
phones. Without considering the temporal aspects of an attack,
state-of-the-art techniques aimed at protecting the users against permission-induced
attacks, are prone to have low-coverage in detection and
high-disruption in prevention of such attacks. Project Terminator
addresses this shortcoming by incorporating the notion of time in both
detection and prevention of the attacks. Terminator leverages temporal
logic model checking to detect permission-induced threats, and then
relies on Androids dynamic permission mechanism to thwart the
identified threats by revoking unsafe permissions. However, such
countermeasure, i.e., permission revocation, could itself result in
other defects, such as crash, if the target app suffers from
dynamic-permission-compatibility issue. To identify such
permission-induced compatibility defects, developers need to
exhaustively re-execute tests for all possible permission combinations,
thereby increasing the time and resources required to test apps. Project PATDroid, is
intended to help app developers with this challenge. PATDroid can significantly reduce the testing
effort by performing a hybrid program analysis that determines which
tests should be executed on what permission combinations.
Papers: [FSE'17], [ICSE'18]
- Android
testing in general
GUI-based
testing has been primarily used to examine the functionality and
usability of mobile apps. Despite the numerous GUI-based test input
generation techniques proposed in the literature, these techniques are
still limited by (1) lack of context-aware text inputs; (2) failing to generate
expressive tests; and (3) absence of test oracles. To address these
limitations, CRAFTDROID leverages information retrieval, along with
static and dynamic analysis techniques, to extract the human knowledge
from an existing test suite for one app and transfer the test cases and
oracles to be used for testing other apps with the similar
functionalities. Evaluation of CRAFTDROID on real-world commercial
Android apps corroborates its effectiveness by achieving 73% precision
and 90% recall on average for transferring both the GUI events and
oracles. In addition, 75% of the attempted transfers successfully
generated valid and feature-based tests for popular features among apps
in the same category.
Papers: [ASE'19]
|
|