Alessandra Gorla


Title Understanding the Behavior of Android apps by Means of Static and Dynamic Analyses
Abstract Software engineering researchers suddenly have access to a huge software ecosystem that can be analyzed: Millions of mobile apps on public stores such as the Google Play. How can we analyze such a large amount of information and get something meaningful out of it? This course will give an overview of the most useful static and dynamic analysis techniques for Android apps. Such techniques will help you understand the behavior of an app, and identify, for instance, whether an app may hide some malicious behavior, or whether it fails under specific circumstances. The course will also include hands-on material.
Speaker's Bio    Alessandra Gorla received her Bachelor's and Master's degrees in computer science from the University of Milano-Bicocca in Italy. She completed her Ph.D. in informatics at the Universita' della Svizzera Italiana in Lugano, Switzerland in 2011. In her Ph.D. thesis she defined and developed the notion of Automatic Workarounds, a self-healing technique to recover Web applications from field failures, a work for which she received the Fritz Kutter Award for the best industry related Ph.D. thesis in computer science in Switzerland. Before joining IMDEA Software Institute in December 2014 as Assistant Research Professor, she has been a postdoctoral researcher in the software engineering group at Saarland University in Germany. During her postdoc, she has also been a visiting researcher at Google in Mountain View. Alessandra's research interests are in software engineering, and in particular on testing and analysis techniques to improve the reliability and security of software systems. She is also interested in malware detection for mobile applications. See more at her website

Niels Henze


Title Mobile Human Computer Interaction
Abstract The objective of this course is to provide newcomers to Mobile Human-Computer Interaction (Mobile HCI) with an overview of the field. The course will introduce the four grand challenges of Mobile HCI that set this field apart from others and will discuss seven current Mobile HCI research areas that address those challenges.
Speaker's Bio  Niels Henze is assistant professor for Socio-Cognitive Systems in the Institute for Visualization and Interactive Systems and the SimTech Cluster for Simulation Technology at the University of Stuttgart. Beforehand he was postdoctoral researcher in the Human-Computer Interaction group at the University of Stuttgart. After receiving a diploma in computer science in 2006, he worked for European research projects at the OFFIS Institute for Information Technology. In 2008, he became a researcher and doctoral student in the Media Informatics and Multimedia Systems group at the University of Oldenburg. He worked for international projects and was responsible for teaching and tutoring. Niels finished his PhD in 2012 with his thesis about Camera-based Mobile Interaction with Physical Objects under the supervision of Prof. Dr. Susanne Boll. Niels’ research interests are mobile human-computer interaction and pervasive computing. Particularly, he is interested in large-scale studies using mobile application stores as a research tool, interlinking physical objects and digital information, and multimodal interfaces. Niels published in scientific journals and competitive conferences. He received awards from CHI, MobileHCI, and Mensch & Computer. He organized several scientific workshops, served as a guest editor for the International Journal on Mobile Human Computer Interaction, and has been a reviewer for the leading conferences and journals in his field. Niels lectures human-computer interaction for several years. He developed and supervised the development of mobile applications to conduct large-scale studies that have been installed more than a million times.



David Lo


Title Protecting Android Apps: Methodologies and Opportunities
Abstract  This 3-hours tutorial introduces automated methods to help developers better protect their Android applications against attacks. First, this tutorial presents methods that can automatically detect and repair vulnerabilities by leveraging specially-crafted templates and mining software repositories. The second part of the tutorial introduces methods that can automatically infer permissions for Android apps. Apps often declare more permissions than those that are needed, and malware can leverage these unnecessary permissions to perform malicious actions. The last part describes the line of work of sandbox mining where application behaviours are confined to behaviours observed during automatic testing. Most of this tutorial would be lecture based, but a hands-on session would be included for the second part.
Speaker's Bio David Lo is an Associate Professor in School of Information Systems, Singapore Management University. His research interest lies in the intersection of software engineering, data science, and cybersecurity. Heis serving (or has served) in the steering committee of IEEE/ACM International Conference on Automated Software Engineering (ASE), IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), and IEEE Working Conference on Source Code Analysis and Manipulation (SCAM). He is also in the editorial board of Empirical Software Engineering, Journal of Software: Evolution and Process, Information and Software Technology, Information Systems, and Neurocomputing. For more information, please visit: http://www.mysmu.edu/faculty/davidlo/



Mei Nagappan


Title Trends and Challenges in Software Engineering Research for Mobile Apps
Abstract  We have seen tremendous growth in the use of mobile devices over the last few years. This has fueled the development of millions of software applications for these mobile devices often called as ‘apps’. Current estimates indicate that there are hundreds of thousands of mobile app developers. As a result, in recent years, there has been a increasing amount of software engineering research being conducted on mobile apps to help such mobile app developers. In this first half of the day, I will discuss current and future trends within the framework of the various stages in the software development life cycle. I will first present the recent advances done in requirements, design, development, testing, maintenance, and release engineering stages of mobile apps. Then on the second half of the day, I will present the challenges present in current work, followed by the future opportunities and the risks present in pursing such research.
Speaker's Bio Meiyappan (Mei) Nagappan is an Assistant Professor David R. Cheriton School of Computer Science at the University of Waterloo. Previously he was an Assistant Professor at the Software Engineering department of Rochester Institute of Technology and a postdoctoral fellow in the Software Analysis and Intelligence Lab (SAIL) at Queen’s University, Canada. His research is centered around the use of large-scale Software Engineering (SE) data to address the concerns of the various stakeholders (e.g., developers, operators, and managers). He received a Ph.D. in computer science from North Carolina State University. Dr. Nagappan has published in various top SE venues such as TSE, FSE, EMSE, JSS and IEEE Software. He has also received best paper awards at the International Working Conference on Mining Software Repositories (MSR ’12, ’15). He is currently the editor of the IEEE Software Blog, Information Director of the TSE journal, and a member of the MSR steering committee. He continues to collaborate with both industrial and academic researchers from the US, Canada, Japan, Germany, Chile, and India. You can find more at mei-nagappan.com.

Michael Mairegger

Michael Mairegger

Title Platform Development for Mobile Devices with Xamarin.Forms
Abstract To ensure a wide-spread use, companies often want to provide their app on as many platforms as possible. Unfortunately, developing and maintaining an app on many platforms can be very costly: one has to design, program, and maintain each app separately. Moreover, programmers often specialize on a specific platform so that often more programmers are needed to cover more platforms. The aim of Xamarin is to tackle this problem: the idea of Xamarin.Forms is to provide a platform where .NET programmers can write apps in C# and the final app is then ported to Android, iOS, Mac, UWP, and WPF. With such a platform the developer is able to write code once and run it almost everywhere. In this tutorial, we will create a small sample app running on each of the above listed devices and see how to use some platform dependent features.
Speaker's Bio Michael Mairegger is a freelance Software Engineer and Research Assistant at the Free University of Bolzano. He received a M.Sc. degree in Computer Science at the Free University of Bolzano in 2016. He is developing software mainly on the .NET platform. In his spare time he is a very passionate sports climber and hiker.


Fabio Palomba

Fabio_Palomba
Title Managing Source Code Quality in Mobile Apps
Abstract In recent years, software development and release planning activities shifted from a traditional paradigm, in which a software system is periodically released following a road map, towards a paradigm in which continuous releases become available for upgrade with a cadence of few weeks, if not days. The distribution of updates through app online stores (e.g., Google Play) is accompanied by a mechanism that allows users to rate releases using scores (i.e., star ratings) and text reviews. The way an app is rated can tremeudously affect the commercial success of an app and, for this reason, developers are somehow enforced to deliver high quality apps to users.
This three-hours tutorial will introduce mining software repository-based automated methods to support developers when (i) monitoring the users' reactions so that they can take informed decisions on how to improve the quality of their apps and (ii) detecting portions of source code more likely to contain issues (e.g., performance-related problems) that might negatively affect end-user rates. Most of this tutorial will be lecture-based, but a hands-on session will be included for the second part.
Speaker's Bio Fabio is a Senior Research Associate at the University of Zurich, Switzerland. He received the European PhD degree in Management & Information Technology from the University of Salerno, Italy, in 2017. His research interests include software maintenance and evolution, empirical software engineering, source code quality, change and defect prediction, green mining and mining software repositories. On these topics, he has published 45+ papers appeared in international software engineering conferences and journals.
He was also the recipient of two ACM/SIGSOFT and one IEEE/TCSE Distinguished Paper Awards at ASE'13, ICSE'15, and ICSME'17, respectively. He serves and has served as a program committee member of various international conferences (e.g., MSR, ICPC, ICSME), and as referee for various international journals (e.g., TSE, TOSEM, JSS) in the fields of software engineering. Since 2016 he is Review Board Member for EMSE, and he was the recipient of a Distinguished Reviewer Award for his reviewing activities conducted for the journal in 2017.
He co-organized the 2nd International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE 2018), and he is currently organizing the International Workshop on Architecture-Based Continuity in DevOps (ABCD 2018). He is also Guest Editor of special issues related to his research interests that will appear in EMSE and JSEP.



SEschool@unibz