Automated Software Engineering

Zilicio: An Automation Framework for Rapid Native Mobile Application Development
Zilicio: An Automation Framework for Rapid Native Mobile Application Development
Zilicio, an automation framework that allows inexperienced and experienced developers to build real world apps in minutes for the two dominant mobile platforms. Zilicio creates both Android and iOS versions of a mobile application, which is connected to an automatically generated RESTful backend, all through a friendly end-user web application.
Automatic Analysis of Closed-Source Mobile Apps to support Software Engineering Tasks
Automatic Analysis of Closed-Source Mobile Apps to support Software Engineering Tasks
The amount of android applications is having a tremendous increasing trend, leading the mobile software market to exert pressure over practitioners and researchers about several topics like application quality, frequent releases, and quick fixing of bugs. Because of this, mobile app development process requires of improving the release cycles. Therefore, the automation of software engineering tasks has become a top research topic. As a result of this research interest, several automated approaches have been proposed to support software engineering tasks. Specifically for this research we explore the possibility of performing automated software engineering tasks using APKs as entry instead of source code.

Quality Attributes in Mobile Apps

Security Vulnerabilities in Mobile Apps
Security Vulnerabilities in Mobile Apps
Study on "Security Vulnerabilities" found in mobile applications. There are two open projects":" first one study top Finance android applications from Google play and second one study vulnerabilties published in android bulletins.
Eventual Connectivity on Android Apps
Eventual Connectivity on Android Apps
Study on "Eventual Connectivity" Issues exhibited by Android apps in-the-wild. By manually executing and inspecting 50 open source Android apps we build a catalog of (i) bad practices/issues, and (ii) hybrid practices that are exhibited dynamically by Android apps and could affect users perceived quality. The execution was based on 986 scenarios we designed (in total) for the 50 apps. We found 316 instances of 10 categories of "eventual connectivity" issues (which account for an average of 6.32 issues per app), and 4 instances of two categories of hybrid practices.

Software Testing

Mutation Testing
Mutation Testing
Mutation Testing is a type of software testing where we mutate (change) certain statements in the source code and check if the test cases are able to find the errors. It is a type of White Box Testing which is mainly used for Unit Testing. The changes in mutant program are kept extremely small, so it does not affect the overall objective of the program. In this moment, we have open projects in NodeJS and Android Framework
Multi Model Testing of Android Apps
Multi Model Testing of Android Apps
Models based testing enables software developers to derive abstract tests from a system representation. Inherently, mobile applications have multiple models that represent them, such as the domain model, usage model, GUI model or context model. Different models condense different but complementary information that can be mixed into a single and enriched multi-model. Taking advantage of the flexibility the Android Platform gives to developers it is possible to programatically and automatically extract these models from dynamic and static analyses of an application's source code. Eventually, a complete test suite can be generated from the multi-model, which includes as many factors as the input models have.