Alessandra Gorla, PhD

Homepage

Alessandra Gorla

I am an assistant researcher professor at the IMDEA Software Institute in Madrid, Spain. Prior to that, I have been working as a postdoc with Andreas Zeller at the Software Engineering chair at Saarland University in Germany.
I obtained my PhD in the STAR group, led by Mauro Pezzè at the University of Lugano in Switzerland. My research interests are in malware detection for mobile applications, automatic software repair, software testing and analysis

This is my CV

INFO I am looking for motivated students interested in software engineering. Contact me for internship and PhD opportunities!

Mining Android App Behavior

After clustering Android apps by their description topics, we identify outliers in each cluster with respect to their API usage. Applied on a set of 22,500+ Android applications, our CHABADA prototype identified several anomalies; additionally, it flagged 56% of novel malware as such, without requiring any known malware patterns.
Get more information here!

Intrinsic Redundancy

We exploit the intrinsic redundancy of software to make Web and Java systems more resilient to failures. We exploited intrinsic software redundancy also to automatically produce test oracles. More recently, we developed a search-based technique to automatically identify intrisically redundant methods in Java classes.
More information on FSE2010, ICSE2013, ICSE2014, FSE2014.

Back to Top

Publications

2015
[27]
Automated Test Input Generation for Android: Are We There Yet? (Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso), In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering, ACM, 2015. (To Appear) [pdf]
[26]
Synthesis of Equivalent Method Calls in Guava (Andrea Mattavelli, Alberto Goffi, and Alessandra Gorla), In Proceedings of the 2015 Symposium on Search-Based Software Engineering (SSBSE Challenge Track), pp. 248-254., LNCS, 2015. [pdf]
[25]
Automatic Workarounds: Exploiting the Intrinsic Redundancy of Web Applications (Antonio Carzaniga, Alessandra Gorla, Nicolò, Mauro Pezzè), In ACM Transactions on Software Engineering and Methodologies, volume 24, n.3, pp. 16:1-16:42. 2015. [pdf]
[24]
Mining Apps for Abnormal Usage of Sensitive Data (Vitalii Avdiienko, Konstantin Kuznetsov, Alessandra Gorla, Andreas Zeller, Steven Arzt, Siegfried Rasthofer, Eric Bodden), In Proceedings of the 37th International Conference on Software Engineering, ACM, 2015. [pdf]
[23]
Mining Android Apps for Anomalies (Konstantin Kuznetsov, Alessandra Gorla, Ilaria Tavecchia, Florian Gross, Andreas Zeller), in The Art and Science of Analyzing Software Data, Morgan Kaufmann, ISBN 9780124115194, 2015.[pdf]
2014
[22]
Search-Based Synthesis of Equivalent Method Sequences (Alberto Goffi, Alessandra Gorla, Andrea Mattavelli, Mauro Pezzè, Paolo Tonella), In Proceedings of the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering, ACM, 2014. [pdf] [doi]
[21]
Checking App Behavior Against App Descriptions (Alessandra Gorla, Ilaria Tavecchia, Florian Gross, Andreas Zeller), In Proceedings of the 36th International Conference on Software Engineering, ACM, 2014. [pdf] [doi]
[20]
Cross-checking Oracles from Intrinsic Software Redundancy (Antonio Carzaniga, Alberto Goffi, Alessandra Gorla, Andrea Mattavelli, Mauro Pezzè), In Proceedings of the 36th International Conference on Software Engineering, ACM, 2014. [pdf] [doi]
[19]
Search-based Security Testing of Web Applications (Julian Thomé, Alessandra Gorla, Andreas Zeller), In Proceedings of the 7th International Workshop on Search-Based Software Testing, ACM, 2014. (BEST PAPER AWARD!) [pdf] [doi]
2013
[18]
Search-based data-flow test generation (Mattia Vivanti, Andre Mis, Alessandra Gorla, Gordon Fraser), In 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE), 2013. [pdf] [doi]
[17]
Automatic Recovery from Runtime Failures (Antonio Carzaniga, Alessandra Gorla, Andrea Mattavelli, Nicolò Perino, Mauro Pezzè), In Proceedings of the 2013 International Conference on Software Engineering, IEEE Press, 2013. [pdf]
[16]
Software Engineering for Self-Adaptive Systems: A Second Research Roadmap (Rogério de Lemos, Holger Giese, Hausi A. Müller, Mary Shaw, Jesper Andersson, Luciano Baresi, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Ron Desmarais, Schahram Dustdar, Gregor Engels, Kurt Geihs, Karl M. Goeschka, Alessandra Gorla, Vincenzo Grassi, Paola Inverardi, Gabor Karsai, Jeff Kramer, Marin Litoiu, Antonia Lopes, Jeff Magee, Sam Malek, Serge Mankovskii, Raffaela Mirandola, John Mylopoulos, Oscar Nierstrasz, Mauro Pezzè, Christian Prehofer, Wilhelm Schäfer, Rick Schlichting, Bradley Schmerl, Dennis B. Smith, João P. Sousa, Gabriel Tamura, Ladan Tahvildari, Norha M. Villegas, Thomas Vogel, Danny Weyns, Kenny Wong, Jochen Wuttke), Chapter in Software Engineering for Self-Adaptive Systems II, Springer-Verlag, volume 7475, 2013. [pdf] [doi]
[15]
Software Engineering Processes for Self-adaptive Systems (Jesper Andersson, Luciano Baresi, Nelly Bencomo, Rogério de Lemos, Alessandra Gorla, Paola Inverardi, Thomas Vogel), Chapter in Software Engineering for Self-Adaptive Systems II, Springer-Verlag, volume 7475, 2013. [pdf] [doi]
2012
[14]
Traffic Routing for Evaluating Self-Adaptation (Jochen Wuttke, Yuriy Brun, Alessandra Gorla, Jonathan Ramaswamy), In SEAMS'12: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, ACM, 2012. [pdf] [doi]
[13]
A self-healing technique for Java applications. (Antonio Carzaniga, Alessandra Gorla, Andrea Mattavelli, Nicolò Perino), In ICSE'12: Proceedings of the 34th ACM/IEEE International Conference on Software Engineering (Poster) (Martin Glinz, Gail C. Murphy, Mauro Pezzè, eds.), IEEE, 2012. [pdf] [doi]
2011
[12]
Automatic Workarounds: Exploiting the Intrinsic Redundancy of Software Systems (Alessandra Gorla), PhD thesis, University of Lugano, Switzerland, 2011. (FRITZ-KUTTER AWARD!) [pdf]
2010
[11]
Achieving Cost-Effective Software Reliability Through Self-Healing (Alessandra Gorla, Leonardo Mariani, Fabrizio Pastore, Mauro Pezzè, Jochen Wuttke), In Computing and Informatics, volume 29, 2010. [pdf]
[10]
RAW: runtime automatic workarounds (Antonio Carzaniga, Alessandra Gorla, Nicolò Perino, Mauro Pezzè), In ICSE'10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (Tool Demo), ACM, 2010. [pdf] [doi]
[9]
Automatic Workarounds for Web Applications (Antonio Carzaniga, Alessandra Gorla, Nicolò Perino, Mauro Pezzè), In FSE'10: Proceedings of the 2010 Foundations of Software Engineering conference, ACM, 2010. [pdf]
2009
[8]
Handling Software Faults with Redundancy (Antonio Carzaniga, Alessandra Gorla, Mauro Pezzè), Chapter in Architecting Dependable Systems VI (R. de Lemos, J.-C. Fabre, C. Gacek, F. Gadducci, M. H. ter Beek, eds.), Springer, 2009. [pdf] [doi]
[7]
DaTeC: Dataflow Testing of Java Classes (Giovanni Denaro, Alessandra Gorla, Mauro Pezzè), In ICSE Companion'09: Proceedings of the International Conference on Software Engineering (Tool Demo), ACM, 2009. [pdf] [doi]
2008
[6]
Healing Web applications through automatic workarounds (Antonio Carzaniga, Alessandra Gorla, Mauro Pezzè), In International Journal on Software Tools for Technology Transfer (STTT), volume 10, 2008. [pdf] [doi]
[5]
Automatic Workarounds as Failure Recoveries (Alessandra Gorla), In FSEDS'08: Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium, ACM, 2008. (BEST STUDENT POSTER AWARD!) [pdf] [doi]
[4]
Contextual Integration Testing of Classes (Giovanni Denaro, Alessandra Gorla, Mauro Pezzè), In FASE'08: Proceedings of the 11th International Conference on Fundamental Approaches to Software Engineering, 2008. [pdf]
[3]
Self-Healing by Means of Automatic Workarounds (Antonio Carzaniga, Alessandra Gorla, Mauro Pezzè), In SEAMS'08: Proceedings of the 2008 International Workshop on Software Engineering for Adaptive and Self-Managing Systems, ACM, 2008. [pdf] [doi]
2007
[2]
An Empirical Evaluation of Data Flow Testing of Java Classes (Giovanni Denaro, Alessandra Gorla, Mauro Pezzè), Technical report, University of Lugano, 2007. [pdf]
[1]
Towards Design for Self-Healing (Alessandra Gorla), In SOQUA'07: Proceedings of the Fourth International Workshop on Software Quality Assurance, ACM, 2007. [pdf] [doi]
Back to Top

Service

Organizing Committees

  • Tool Demonstrations co-chair, 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2016).
  • Artifact Evaluation co-chair, International Symposium on Engineering Secure Software and Systems (ESSoS 2016).
  • Artifact Evaluation co-chair, International Symposium on Software Testing and Analysis (ISSTA 2016).
  • Tool Demonstrations co-chair, IEEE and ACM International Conference on Automated Software Engineering (ASE 2015).
  • GI-Dagstuhl Seminar 14433 on Software Engineering for Self-Adaptive Systems, October 2014.

Program Committees

  • Program Committees Member, 13th Working Conference on Mining Software Repositories (MSR 2016).
  • Program Committees Member, ACM International Symposium on Software Testing and Analysis (ISSTA 2016).
  • Program Committees Member, IEEE International Conference on Software Testing, Verification and Validation (ICST 2016).
  • Program Committees Member, IEEE/ACM Third International Conference on Mobile Software Engineering and Systems (MOBILESoft 2016).
  • Program Committees Member, IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE Visions of 2025 and Beyond Track 2016).
  • Program Committees Member, IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE) Workshops (ICSE Workshop 2016)
  • Program Committees Member, 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016)
  • Program Committees Member, 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER ERA Track 2016)
  • Program Committees Member, 31st Annual ACM/SIGAPP Symposium On Applied Computing Service-Oriented Architectures and Programming (SAC-SOAP Track 2016).
  • Program Committees Member, Third International Workshop on Software Development Lifecycle for Mobile (DeMobile 2015)
  • Expert Review Panel Member, IEEE and ACM International Conference on Automated Software Engineering (ASE 2015).
  • Artifact Evaluation Committee Member, 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2015).
  • Program Committee Member, ACM International Symposium on Software Testing and Analysis (ISSTA 2015).
  • Program Committee Member, IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE SEIP track 2015).
  • Program Committee Member, 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2015) co-located with the IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE 2015)
  • Program Committee Member, Italian Student Contest on Software Engineering (SCORE-it 2015) co-located with the IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE 2015).
  • Artifact Evaluation Committee Member, ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2014).
  • Artifact Evaluation Committee Member, ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2014).
  • Program Committee Member, IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE Posters track 2014).
  • Artifact Evaluation Committee Member, ACM SIGPLAN Conference on Systems, Programming, Languages and Applications (OOPSLA 2013).
  • Expert Review Panel Member, IEEE and ACM International Conference on Automated Software Engineering (ASE 2013).
  • Program Committee Member, Student Contest on Software Engineering (SCORE 2013) co-located with the IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE 2013).
Back to Top

Teaching

Lecturer

  • Challenges and Opportunities in Mobile Testing, 11th International Summer School on Training And Research On Testing, Cádiz, Spain, 29th June - 2nd July 2015
  • Static and Dynamic Analysis Techniques for Mobile Security, ECI Winter School, University of Buenos Aires, Argentina, 28th July - 2nd August 2014
  • Software Engineering (guest lectures in Prof. Andreas Zeller’s course), Saarland University, Winter 2013/2014.
  • Mobile Testing and Analysis (seminar course, with Prof. Andreas Zeller), Saarland University, Summer 2013. Ranked as the best seminar course of the semester.
  • Automated Testing and Verification (advanced course, with Dr. Juan Pablo Galeotti), Saarland Uni- versity, Winter 2012/2013.
  • Self-healing Systems (seminar course, with Prof. Andreas Zeller), Saarland University, Summer 2012.
  • iPhone Programming (special course to undergraduates), University of Lugano, Summer 2009.

Teaching Assistant

  • Software Quality + LAB (Master course), University of Lugano, Spring 2010. Instructor: Prof. Mauro Pezzè, Prof. Carlo Ghezzi.
  • Software Quality + LAB (Master course), University of Lugano, Spring 2009. Instructor: Prof. Mauro Pezzè.
  • Software Atelier I (Bachelor course), University of Lugano, Fall 2008. Instructor: Prof. Mauro Pezzè.
  • Software Quality + LAB (Master course), University of Lugano, Spring 2008. Instructors: Prof. Mauro Pezzè, Prof. Michal Young.
  • Software Design (Bachelor course), University of Lugano, Spring 2007. Instructor: Prof. Walter Binder.
  • Software Atelier II (Bachelor course), University of Lugano, Spring 2007. Instructor: Prof. Alex Repenning.
  • Technology Lab III: Testing (Bachelor course), University of Lugano, Fall 2006. Instructor: Prof. Mauro Pezzè.
Back to Top