Research Projects
ARCADE
ARCADE is a software workbench that employs a suite of architecture recovery techniques and metrics for different aspects of architectural change.Main contributions:
- Improving ACDC architecture recovery technique.
- Improving ARC architecture recovery technique.
- Designing and implementing A2A and MTO architectural change metrics.
SoftEvo
SoftEvo is a toolset to use cloud computing in order to semi-automatically run large-scale static and dynamic programming analyses on the history of systems in software repositories.Main contributions:
- Designing and implementing SoftEvo.
- Implementing ARCADE's workflow based on SoftEvo.
FieryEye
FieryEye is a novel automated framework for debugging web sites that is based on image processing and probabilistic techniques. FieryEye first builds a model that links observable changes in the website’s appearance to faulty elements and styling properties. Then using this model, our approach predicts the elements and styling properties most likely to cause the observed failure for the page under test and reports these to the developerMain contributions:
- Improving the efficiency of FieryEye by designing and implementing infrastructures to run it on cloud.
Mahjong
Mahjong is a distributed software system that uses idle cycles on remote but networked computers to solve NP-complete problemsMain contributions:
- Desinging and implementing infrastructure to run Mahjong on cloud.
BUDE
This project proposes a concept and a workbench that allow developers to devise applications with the help of templates. The workbench supports the development from the creation of the templates up to the (automatic) generation of a DSL (Domain Specific Language). The latter can be used to extend the application, as well as to develop other applications that require similar operations.Main contributions:
- Developed a DSL for generating Android Interfaces.
- Developed a compiler for compiling Xtend templates.
- Developed a parser for parsing Xtext files.
RBPT
Restricted Broadcast Process Theory (RBPT) was introduced for formal modeling and verification of Mobile Ad Hoc Networks (MANETs) in an algebraic way. In this project, a tool that checks the static semantics of a given specification was developed. Furthermore, it linearizes the algebraic specifications using the sound axioms of RBPT.Main contributions:
- Desinging and implementing the core engine of RBPT.
- Providing a state space generator for process terms of RBPT extended with abstract data types by translating the specifications to ML.
(Updated January 2016)