Technical Briefings
We provide a description of the selected ICSE 2015 Technical Briefings that will be offered on Tuesday 19 May. For the detailed schedule click below.
The Green Lab: Experimentation in Software Energy Efficiency
The quest for software energy efficiency is primarily motivated by the growing energy demand of ICT and its consequent environmental impact. In this new research field, experimentation is widely adopted. Nevertheless, current studies and research approaches struggle to find generalizable findings that can be used to build a consistent knowledge base for energy-efficient software. To this end, we will discuss how to combine the traditional hypothesis-driven (top-down) approach with a bottom-up discovery approach. The audience attendees will be guided to discover the novel challenges of software energy efficiency, test a new approach for experimentation and experience the real complexity of this promising research field.
Daniel Mendez Fernandez is a post-doctoral senior research fellow at TU München. His research interests include model-based requirements engineering (and improvement), and empirical software engineering with a particular focus on qualitative studies.More info at: http://www4.in.tum.de/~mendezfe/
Roel Wieringa is Chair of Information Systems at the University of Twente, the Netherlands. His research interests include requirements engineering, IT security risk assessment, and design science research methodology for software.More info at: http://wwwhome.ewi.utwente.nl/~roelw/
The Art and Science of Analyzing Software Data: Quantitative Methods
Using the tools of quantitative data science, software engineers can predict useful information on new projects based on past projects. This tutorial discusses the state of the art in these tools. (a) When local data is scarce, we can adapt data from other organizations to local problems. (b) When working with data of dubious quality, we can prune spurious information. (c) When data or models seem too complex, we show how to simplify data mining results. (d) When the world changes, and old models need to be updated, we show how to handle those updates. (e) When the effect is too complex for one model, we show to reason over ensembles. (f) Also discussed are certain landmark results from he history of the field plus (g) more recent landmark and very influential papers.
Leandro L. Minku is a Research Fellow II at the School of Computer Science, University of Birmingham (UK). He received the PhD degree in Computer Science from the University of Birmingham (UK) in 2011, and was an intern at Google Zurich for six months in 2009/2010. He was the recipient of the Overseas Research Students Award (ORSAS) from the British government and several scholarships from the Brazilian Council for Scientific and Technological Development (CNPq). His research focuses on software prediction models, search-based software engineering, online/incremental machine learning for changing environments, and ensembles of learning machines. He has published in internationally renowned venues such as ICSE, IEEE TSE, ACM TOSEM and IEEE TKDE.
Agile Project Management: From Self-Managing Teams to Large-Scale Development
This briefing provides a characterization and definition of agile project management based on extensive studies of large-scale industrial projects. It explains the circumstances behind the change from traditional management with its focus on direct supervision and standardization of work processes, to the newer, agile focus on self-managing teams, including its opportunities and benefits, but also its complexity and challenges.
The briefing is intended for researchers, practitioners and educators in software engineering, especially project managers. For researchers, an updated state of the art will be uncovered, and the presentation will be based on current best evidence. For practitioners, principles, processes, and key success factors will be outlined and a successful large-scale case study of agile project management will be presented. For educators, the briefing will provide the basis for developing course material.
Reactive Programming: a Walkthrough
Over the last few years, Reactive Programming has emerged as the trend to support the development of reactive software through dedicated programming abstractions. Reactive Programming has been increasingly investigated in the programming languages community and it is now gaining the interest of practitioners. Conversely, it has received so far less attention from the software engineering community.
This technical briefing bridges this gap through an accurate overview of Reactive Programming, discussing the available frameworks and outlining open research challenges with an emphasis on cross-field research opportunities.
Software Requirements Patterns - A State of the Art and the Practice
The reuse of software requirements may help requirement engineers to elicit, validate and document software requirements to obtain software specifications of better quality through more effective processes. The use of patterns is a consolidated approach to reuse that has gained increasing attention in RE, both in industry and academy.
This briefing will present a state of the art and the practice of software requirements patterns. Basic material from textbooks will be complemented with several empirical studies to present an updated and unified view.The briefing is addressed to researchers, practitioners and educators in software engineering, especially requirements engineers. For researchers, an updated state of the art will be exposed, and the presentation will rely on scientific grounds. For practitioners, processes and templates will be outlined and a successful case study of pattern-based requirements engineering will be presented. For educators, the briefing will provide the basis for developing course material.
A summary of his CV follows:
- Steering Committee membership: RE (from 2006); REFSQ (from 2010), CAiSE (from 2011).
- General Chair: RE 2008, FiCloud 2014.
- Program co-Chair: ICSOC 2014, CAiSE 2012, REFSQ 2011, ICCBSS 2006.
- Editorial Boards membership: IET Software (from 2014), Elsevier IST (from 2012), IJISMD (from 2010).
- Journal reviewer: regularly in SCI-indexed journals like TSE, TOSEM, IEEE Software, Computer, REJ, EMSE, IEE Proceedings, FGCS, etc. (up to >20).
- Program Board membership: RE (2012-14), CAiSE (2011, 2013-15), RCIS (2013).
- Program Committee membership: >100 in conferences like ICSE-NIER, RE, SAC, CBSE, REFSQ, SPLC, CAiSE, ER.
- Other relevant positions in conferences: Workshop co- chair (RE 2015, CAiSE 2008&2013); Doctoral Symposium co-chair (REFSQ 2015, ESEM 2015, RCIS 2013); Tutorial co-chair (FSE 2015); Proceedings co-chair (ICCBSS 2005); Publicity Regional chair (RE 2004).
- Special issues editor: ISJ (2013), REJ (2012) and JSS (2008).
- Keynotes: MoDRE@RE 2014; IEEE RCIS 2012.
- Seminars at the following universities in RE-related topics: City, Wien, Ottawa, Johannes Kepler, Sevilla, Valencia, NTNU, FBK, Wollongong, Toronto, Groningen.
- Other talks: invited at IFIPWG2.9; RE’04 (state-of-the- practice talk).
- Personal board member of the International Requirements Engineering Board (IREB).
- Two awards related to the topic of the tutorial: Best Paper at RCIS 2009, Best Poster at RE 2011
Big(ger) Data in Software Engineering
"Big Data" analytics has become the next hot topic for most companies - from financial institutions to technology companies to service providers. Likewise in software engineering, data collected about the development of software, the operation of the software in the field, and the users feedback on software have been used before. However, collecting and analyzing this information across hundreds of thousands or millions of software projects gives us the unique ability to reason about the ecosystem at large, and software in general. At no time in history has there been easier access to extremely powerful computational resources as it is today, thanks to the advances in cloud computing, both from the technology and business perspectives. In this technical briefing, we will present the state-of-the-art with respect to the research carried out in the area of big data analytics in software engineering research.
Meiyappan Nagappan is an Assistant Professor in the Software Engineering Department of Rochester Institute of Technology. His research is centered on the use of ultra large-scale Software Engineering (SE) data to address the concerns of the various stakeholders (e.g., developers, operators, and managers). He taught a graduate course titled “Empirical Software Engineering using Ultra Large Repositories”. He received a PhD in computer science from North Carolina State University. Previously he was a postdoctoral fellow in the Software Analysis and Intelligence Lab (SAIL) at Queen's University, Canada. Dr. Nagappan has published extensively in various top SE venues such as TSE, FSE, EMSE, and IEEE Software. He has also received a best paper award at the International Working Conference on Mining Software Repositories (MSR 12). He continues to collaborate with both industrial and academic researchers from the US, Canada, Japan, Germany, Chile, and India.You can find more about him at http://sailhome.cs.queensu.ca/~mei/Contact him atThis email address is being protected from spambots. You need JavaScript enabled to view it.
Exploration, Analysis, and Manipulation of Source Code using srcML
This technology briefing is intended for those interested in constructing customized software analysis and manipulation tools to support research or commercial applications. srcML (srcML.org) is an infrastructure consisting of an XML representation for C/C++/C#/Java source code along with efficient parsing technology to convert source code to and from the srcML format. The briefing will describe srcML, the toolkit, and the application of XPath and XSLT to query and modify source code. Additionally a hands-on tutorial of how to use srcML and XML tools to construct custom analysis and manipulation tools will be conducted.

Load Testing Large-Scale Software Systems
Many large-scale software systems (e.g., Amazon and Dropbox) must service thousands and millions of concurrent requests every day. These systems must be load tested to ensure they can scale up while maintaining functional and performance requirements. In this technical briefing, we will describe the state-of-the-art research and practices in the area of load testing. We will focus on the techniques used in the three phases of a load test: (1) designing a load testing, (2) executing a load testing, and (3) analyzing the results of a load test. This briefing will appeal to load testing practitioners and software engineering researchers interested in testing and analyzing the behavior of large-scale software systems.
Software Engineering for Privacy in-the-Large
Ensuring user privacy in today's connected world is non-trivial. It effectively amounts to privacy management on an ultra-large-scale -- Facebook alone has over 1bn users and there will be an estimated 35 zettabytes of digital records worldwide by the year 2020. Software engineers are modeling and developing such systems on a regular basis -- these systems are increasingly more and more open and handle large amounts of personal or other sensitive data. Hence, software engineers and the tools and techniques at their disposal must address the privacy in-the-large needs inherent to such systems. This technical briefing provides a synthesis of the state-of-the-art techniques in software engineering and some related technologies that can aid software engineers in tackling privacy in-the-large.
Pauline Anthonysamy is a Privacy Researcher at Google and a member of the Security Lancaster Research Centre at Lancaster University, UK. Her research interests include developing software engineering methods and tools for privacy policy compliance and traceability to a system’s runtime functionality and the modeling and analysis of privacy in online social networks. Anthonysamy received an MS in Computer Science from the University of Ottawa, Canada. Her article titled “Social Networking Privacy: Understanding the Disconnect from Policy to Controls” was selected to be featured by the IEEE Special Technical Community on Social Networks. She is also a Google Anita Borg Scholar 2012 and was selected as one of 200 young researchers to attend the Heidelberg Laureate Forum 2014. She is a member of the ACM. Awais Rashid is a Professor of Software Engineering in the School of Computing and Communications and Director of the cross-disciplinary Security-Lancaster Research Centre at Lancaster University, UK. He has been an active researcher in software engineering since the late 90s, mainly working on requirements engineering, modularity and variability management approaches, and more recently security and privacy challenges for large-scale systems. He has served on program committees of various conferences such as RE, FSE, ECOOP, AOSD, MODELS and is serving on the programme committee of the (new) ICSE Software Engineering in Society track. He has also given tutorials at AOSD, RE, ICSE and various other conferences. He has also been engaged in delivering policy and practice briefings on security and privacy issues and was the lead author of the UK Case Study for the UN’s Internet Governance Forum in 2009. He is a member of the IEEE and the IEEE Computer Society.
The Use of Text Retrieval and Natural Language Processing in Software Engineering
Software artifacts written in natural language (e.g., requirements, design documents, scenarios, bug reports, developers’ messages, etc.), together with the comments and identifiers in the source code encode to a large degree the domain of the software, the developers’ knowledge about the system, capture design decisions, developer information, etc. Retrieving and analyzing the textual information existing in software are extremely important in supporting program comprehension and a variety of software evolution tasks.
Text retrieval (TR) is a branch of information retrieval (IR) that leverages information stored primarily in the form of text. In most SE applications, TR techniques are used in conjunction with natural language processing (NLP) tools. This technical briefing presents some of the most popular TR methods, their applications in software engineering (SE), and the main NLP techniques used by software engineering researchers.