Follow ICSE on Facebook Follow ICSE on Twitter

Technical Briefings

We provide a description of the selected ICSE 2016 Technical Briefings that will be offered on Tuesday 17 May. For the detailed schedule of the Technical Briefings Program click here.

"How not to do it": Anti-patterns for Data Science in Software Engineering

Many books and papers describe how to do data science. While those texts are useful, it can also be important to reflect on anti-patterns; i.e. common classes of errors seen when large communities of researchers and commercial software engineers use, and misuse, data mining tools.

This technical briefing will present those errors and show how to avoid them. The errors will be presented at four levels:


Tim Menzies

More info at

Improving and Balancing Software Qualities

This Technical Briefing will describe the nature of Software Qualities (SQs), ilities, or non-functional requirements (reliability, usability, affordability, etc.), and discuss the importance of understanding their nature and interrelationships, and of bringing them into balance in the practice of software engineering. The relevance and timeliness of this topic reflects the current and future trends toward more software-intensive systems, with greater complexity, autonomy, speed of change, and need for interoperability within systems of systems, given the frequent system shortfalls and overruns that occur when their SQ balance is not achieved. It will discuss the weaknesses of current SQ standards and guidance, and will present an elaboration of the needs, and a summary of current SQ engineering improvement research, including a set of initial SQ ontology elements and definitions being developed to address the needs, examples of their application to some key SQs and their relationships, an identification of further research and development needed to make the ontology fully useful and evolvable, and the nature of an international collaborative effort to help improve current practices via a Qualipedia for accessing the evolving body of knowledge for improving SQ engineering.

Barry Boehm

More info at

Control Theory for Software Engineering

Self-adaptive software is interesting for their ability of continuously assuring their requirements in spite of dynamic, unpredictable, and uncertain execution environments. However, many of the current approaches lack the formal grounding needed to guarantee the effectiveness, robustness, and dependability of the adaptation mechanism.

Control Theory developed a set of mathematically grounded techniques to select control variables that would make physical plants satisfy desired objectives. The parallel between adaptive software and control is self-evident, nonetheless controlling software places unprecedented challenges for both disciplines.

Indeed, most of the attempts to apply "off-the-shelf" control to software achieved limited generality. It is challenging to model software as dynamical system because of the intrinsic non-linearity, the variety of usage profiles, and the interconnection of heterogeneous components. This Technical Briefing will overview some broadly applicable state of the art techniques and demonstrate how they can be used to support the adaptivity of a variety of systems.

Antonio Filieri is a Lecturer at the Department of Computing at Imperial College London. Before joining Imperial College, he was Assistant Professor at the University of Stuttgart and got his PhD from Politecnico di Milano in 2013. His PhD research has been awarded the Best PhD Thesis Award by the Dimitri N. Chorafas Foundation and three best paper awards, including the ACM Distinguished paper award at ICSE 2011. His main research interests are in the application of mathematical methods for software engineering, in particular Probability, Statistics, Logic, and Control theory. The main topics of his recent publications include control-theoretical software adaptation, exact and approximate analysis methods for probabilistic software analysis, quantitative software modelling and verification at runtime, and incremental verification. He has been member of several program committees, including ICSE 2016 and 2017, ASE 2015 and 2016, SEAMS 2015 and 2016 and CAV 2015.

More info at

Martina Maggio is an Assistant Professor at the Department of Automatic Control at the Lund University. Prior to that, she was a postdoc in the same department, a PhD student at the Dipartimento di Elettronica e Informazione at Politecnico di Milano and conducted a visiting period at the Computer Science and Artificial Intelligence Laboratory at Massachusetts Institute of Technology. Her main research interest is the application of control theory to computing systems, in particular real-time systems and software engineering. She has been working on the design of automated control methodologies and on obtaining predictable response times for cloud computing and operating systems. She has been members of several program committees, including major conferences like RTSS (Real-Time Systems Simposium), ECRTS (Euromicro Conference on Real-Time Systems) and RTAS (Real-Time Application Symposium).

More info at

Software Engineering for Molecular Programming

Molecular programming uses the information processing power of molecules to design self-assembling, programmable structures and devices at the nanoscale. Molecular programming is programming in the literal sense of computer science. Targeted and customized medical therapeutics, cheap and reliable bio-sensors, molecular robots, smart materials, and bio-compatible computer electronics are applications of molecular programming that are poised to have a major impact on society.

The briefing will be of interest to a broad software engineering audience. No biology, chemistry, or formal methods background will be assumed. The technical briefing will cover several software development techniques that have been extended to make planned molecular systems more productive, predictable and safe, including goal-oriented requirements engineering, reaction network models, and probabilistic model checking. Challenges addressed include new capabilities for handling scalability for very large numbers of devices or services, for dealing with uncertain and probabilistic behavior, and for predicting the limits of safe operation.

Robyn Lutz is a professor of computer science at Iowa State University. She was also on the technical staff of Jet Propulsion Laboratory, California Institute of Technology, from 1983 to 2012, most recently in the Software System Engineering group. Her research interests include software engineering of safety-critical systems, product lines, and the specification and verification of DNA nanosystems. She is an ACM Distinguished Scientist. She served as program chair of the 2014 International Requirements Engineering Conference, is an associate editor of IEEE Transactions on Software Engineering, and is on the editorial board of the Requirements Engineering Journal.

More info at

Jack Lutz is a professor of computer science at Iowa State University, where he has been a faculty member since earning his Ph.D. at the California Institute of Technology. His research interests are in molecular programming and DNA nanotechnology, computational complexity, and algorithmic randomness. He has published 53 journal papers and 61 conference papers in these areas, and he has been the PI on nine NSF research grants. He held visiting positions at Rutgers University, Cornell University, NEC Research Institute, the University of Wisconsin at Madison, the California Institute of Technology, and the University of Cambridge.

More info at

Analyzing Software Engineering Experiments: Everything You Always Wanted to Know but Were Afraid to Ask

Experimentation is a key issue in science and engineering. But it is one of software engineering’s stumbling blocks. Quite a lot of experiments are run nowadays, but it is a risky business. Software engineering has some special features, leading to some experimentation issues being conceived of differently than in other disciplines. The aim of this technical briefing is to help participants to avoid common pitfalls when analyzing the results of software engineering experiments. The technical briefing is not intended as a data analysis course, because there is already plenty of literature on this subject. It reviews several issues that we have identified in published SE experiments.

Natalia Juristo is full professor at the Universidad Politécnica de Madrid UPM), spain. She received her PhD degree from the UPM in 1991. She was awarded a FiDiPro (Finland Distinguished Professor Program) professorship, starting in January 2013. She was the Director of the UPM MSc in Software Engineering 1992-2002 and coordinator of the Erasmus Mundus European Master on SE (with the participation of the University of Bolzano, the University of Kaiserslautern and the University of Blekinge) 2006-2012. Her research interests are experimental software engineering, requirements and testing. She co-authored the book Basics of Software Engineering Experimentation (2001). She is a member of the editorial boards of IEEE Transactions on SE and Empirical SE Journal. She began her career as a developer at the European Space Agency (Rome) and the European Center for Nuclear Research (Geneva). She was a resident affiliate at the CMU Software Engineering Institute (Pittsburgh) in 1992.

More info at

Sira Vegas is associate professor at the Universidad Politécnica de Madrid (UPM), Spain. She received her PhD degree from the UPM, in 2002. Her research interests are experimental software engineering and software testing. She is a reviewer of highly ranked journals such as IEEE Transactions on Software Engineering, Empirical Software Engineering Journal, ACM Transactions on Software Engineering and Methodology and Information and Software Technology. She has been a member of several program committees, including SEKE, ESEM, CSEET and ICSE-NIER. Dr. Vegas was program chair for the International Symposium on Empirical Software Engineering and Measurement (ESEM) in 2007. She was a summer student at the European Centre for Nuclear Research (CERN, Geneva) in 1995. She was a regular visiting scholar of the Experimental Software Engineering Group at the University of Maryland from 1998 to 2000, and visiting scientist at the Fraunhofer Institute for Experimental Software Engineering in Germany in 2002.

More info at

Software Release Planning

One of the most critical activities in software product development is the decisional process that assigns features to subsequent releases under technical, resource, risk, and budget constraints. This decision-centric process is referred to as software release planning (SRP).

This briefing will expose a state of the art on SRP. A survey of the most relevant approaches will be presented. Emphasis will be made on their applicability (concerning e.g. type of development process and type of system, tool support and degree of validation in industry. One of these approaches, EVOLVE, will be analysed in detail.

The briefing is addressed to a wide audience. For researchers, an updated state of the art will be exposed, a particular method will be explored in depth, and the presentation will rely on scientific grounds. For practitioners, the practical dimension of SRP will be present. For educators, the briefing will provide the basis for developing course material.

Xavier Franch is Associate Professor at UPC, Spain. He is the leader of the research group on Software and Service Engineering (GESSI). He has published more than 150 refereed papers in major journals and international conferences. He is editorial board member of the IST and IET Software JCR- indexed journals. He has occupied several positions in conferences like IEEE RE (program, general and workshop chair), ESEC/FSE (tutorial chair), ESEM/ESEIW (doctoral symposium chair), ICSOC (program chair), CAiSE (program, workshop and tutorial chair), REFSQ (program and doctoral chair), RCIS (doctoral chair) and ICCBSS (program and proceeding chair). He has been member of more than 100 program committees including ICSE-NIER, RE, ESEM, EASE, SAC, CBSE, REFSQ, SPLC, CAiSE and ER conferences. He is the project manager of the RISCOSS FP7 EU project ( and scientific coordinator of the SUPERSEDE H2020 EU project (

More info at

Guenther Ruhe is the Industrial Research Chair in Software Engineering at the University of Calgary. His research focuses on product release planning, software project management, decision support, data analytics, empirical software engineering, and search-based software engineering. Ruhe received a habilitation in computer science from the University of Kaiserslautern. As of 2016, he serves as the Editor-in-Chief for the Elsevier Journal on Information and Software Technology. He’s a senior member of IEEE and a member of ACM. Contact him at

Logic-based Learning in Software Engineering

How can we enhance engineers’ ability to construct and evolve formal specifications whilst also reducing the potential errors? Some software engineering researchers have turned to Machine Learning (ML) for automated support in activities such as program comprehension, pattern mining and risk assessment. Logic-based learning, a form of ML, is a method for automatically generating logic-based expressions from given examples and domain knowledge. It is typically used to address problems of completeness and revision of theories. It differs from traditional ML approaches, such as neural networks, SVMs and HMMs, in that it generally requires fewer examples and provides greater expressivity in its computational mechanism, and human-readable output that are easier to inspect. It is well suited for many SE tasks. This technical briefing presents state-of-the-art methods and tools in logic-based learning and illustrates how these can be used to solve a range of SE problems, including repair of requirements specifications.

Dalal Alrajeh is a Research Fellow in Distributed Software Engineering at the Department of Computing, Imperial College London and a visiting researcher at the Department of Security and Crime Science at UCL. She obtained her Ph.D. in Distributed Software Engineering from Imperial College in 2010. She is the recipient of Imperial College Junior Research Fellowship award for her research in diagnosis and correction in partial software specifications. Her main research interests are in formal requirements engineering, inductive logic programming and their application to the design of human-intensive systems such as criminal investigative systems. She has published her research in flagship software engineering and AI conferences and journals including TSE and ICSE. She is the Deputy Editor-in-Chief of the IET Software Journal, and has served on several conference programme committees, including RE and ILP.

More info at

Alessandra Russo is a Reader in Applied Computational Logic at the Department of Computing, Imperial College London, where she leads the Structured and Probabilistic Knowledge Engineering research group. She has pioneered new algorithms and systems for logic-based learning, which are currently state-of-the-art learning systems, and gained a recognised track record on inductive logic programming (ILP), and application of learning and AI solutions to policy-based management systems, security and software engineering. She is author of over 100 journal and conference publications and serves on the programme committee of flagship conferences in both areas of SE (e.g. ESEC/FSE, FSE) and AI (e.g. KR, IJCAI, ICLP, ILP, AAAI). She has been Editor-in-Chief of IET Software journal since 2006, associate editor of ACM Computing Survey since 2013, and will be general chair of ILP 2016.

Jeff Kramer is a Professor at Imperial College London. His research work is primarily concerned with software engineering, focusing on software architecture, behaviour analysis, models in requirements engineering and architectural approaches to adaptive software systems. Jeff was Program Co-chair of ICSE ’99, ICSE Steering Committee Chair from 2000 to 2002, and General Co-chair of ICSE 2010. He was Editor in Chief of IEEE TSE from 2006 to 2009, and was awarded the 2005 ACM SIGSOFT Outstanding Research Award and the 2011 ACM SIGSOFT Distinguished Service Award. He is a Fellow of the Royal Academy of Engineering and Fellow of the ACM. He is co-author of books on Concurrency and on Distributed Systems, and the author of over 200 journal and conference publications.

Sebastian Uchitel is a Professor at University of Buenos Aires and holds a Readership at Imperial College London. He received his undergraduate Computer Science degree from University of Buenos Aires and his Phd in Computing from Imperial College London. His research interests are in behaviour modelling, analysis and synthesis applied to requirements engineering, software architecture and design, validation and verification, and adaptive systems. Dr. Uchitel was associate editor of the Transactions on Software Engineering and is currently associate editor of the Requirements Engineering Journal and the Science of Computer Programming Journal. He was program co-chair of ASE’06 and ICSE’10, and will be General Chair of ICSE’17 to be held in Buenos Aires. Dr Uchitel has been distinguished with the Philip Leverhulme Prize, ERC StG, the Konex Foundation Prize and the Houssay Prize.

Using Docker Containers to Improve Reproducibility in Software Engineering Research

The ability to replicate and reproduce scientific results has become an increasingly important topic for many academic disciplines. In computer science and, more specifically, software and web engineering, contributions of scientific work rely on developed algorithms, tools and prototypes, quantitative evaluations, and other computational analyses. Published code and data come with many undocumented assumptions, dependencies, and configurations that are internal knowledge and make reproducibility hard to achieve.

This technical briefing presents how Docker containers can overcome these issues and aid the reproducibility of research artifacts in software engineering and discusses their applications in the field.

Jürgen Cito is a Ph.D. candidate at the University of Zurich, Switzerland. In his research, he investigates the intersection between software engineering and cloud computing. In the summer of 2015, he was a research intern at the IBM T.J. Watson Research Center in New York, where he worked on cloud analytics based on Docker containers. That year he also won the local Docker Hackathon in New York City with the project docker-record (

More info at

Harald C. Gall is a professor of software engineering in the Department of Informatics at the University of Zurich, Switzerland. His research interests include software engineering, focusing on software evolution, software quality analysis, software architecture, reengineering, collaborative software engineering, and service centric software systems. He was the program chair of the European Software Engineering Conference and the ACM SIGSOFT ESEC-FSE in 2005 and the program co-chair of ICSE 2011.

More info at

Risk Assessment in Open Source Systems

Adopting Open Source Software (OSS) components offers many advantages to organizations also introducing risks related to the intrinsic fluidity of the OSS development projects. Choosing the right components is a critical decision, as it could contribute to the success of the project. Making the right decision requires to evaluate the technical aspects of the components and the strategic aspects, including possible impacts on high level objectives. This can be achieved through a portfolio of risk assessment and mitigation methods.

In this briefing we introduce the basic concepts related to OSS ecosystems and to risk representation and reasoning. We illustrate how the risk management activities in OSS can benefit from the large amount of data available from the OSS repositories and how they can be connected to business goals for strategic decision-making. The concepts are illustrated with a software platform developed in the context of the EU FP7 project RISCOSS (

Xavier Franch is Associate Professor at UPC, Spain. He is the leader of the research group on Software and Service Engineering (GESSI). He has published more than 150 refereed papers in major journals and international conferences. He is editorial board member of the IST and IET Software JCR- indexed journals. He has occupied several positions in conferences like IEEE RE (program, general and workshop chair), ESEC/FSE (tutorial chair), ESEM/ESEIW (doctoral symposium chair), ICSOC (program chair), CAiSE (program, workshop and tutorial chair), REFSQ (program and doctoral chair), RCIS (doctoral chair) and ICCBSS (program and proceeding chair). He has been member of more than 100 program committees including ICSE-NIER, RE, ESEM, EASE, SAC, CBSE, REFSQ, SPLC, CAiSE and ER conferences. He is the project manager of the RISCOSS FP7 EU project ( and scientific coordinator of the SUPERSEDE H2020 EU project (

More info at

Angelo Susi is a research scientist in the Software Engineering group at Fondazione Bruno Kessler in Trento, Italy. His research interests are in the areas of requirements engineering, goal-oriented software engineering, formal methods for requirements validation, and search based software engineering. He has published more than 90 refereed papers in journals and international conferences such as TSE, TOSEM, IST, JSS, SoSyM, ER, FSE, ICSE, RE. He participated in the organization committee of several conferences, such as SSBSE ‘12 (General Chair), RE ‘11 (Local and Financial chair) and in program committees of international conferences and workshops (such as CAiSE and SSBSE). He also served as reviewer for several Journals such as TSE, REJ, IST, JSS. He is the scientific manager of the EU FP7 project RISCOSS.

Refactoring Verification: Accuracy, Efficiency and Scalability through Human-Machine Collaboration

With growing dependence on software in embedded and cyber-physical systems where vulnerabilities and malware can lead to disasters, efficient and accurate verification has become a crucial need for safety and cybersecurity. Formal verification of large software has remained an elusive target, riddled with problems of low accuracy and high computational complexity. The need for automating verification is undoubted, however human is indispensable to accurate real-world software verification. The automation should actually enable and simplify human cross-checking, which is especially important when the stakes are high. This technical briefing discusses the challenges of creating a powerful fusion of automation and human intelligence to solve software verification problems where complete automation has remained intractable. We will contrast with existing software verification approaches and reflect on their strengths and limitations as a human-machine collaboration framework and outline key software engineering research and practice challenges to be addressed in the future.

Suraj C. Kothari (Suresh) is the Richardson Chair Professor of Electrical and Computer Engineering (ECE) at Iowa State University (ISU). He is an entrepreneur and a pioneer in human-in-loop automated program analyses with applications to software engineering and cybersecurity. He is the PI on two DARPA cybersecurity projects. Dr. Kothari founded EnSoft ( in 2002. At present, 280 companies in 27 countries including all major avionics and automobile companies use EnSoft’s software products. He led the effort to start the software engineering undergraduate degree program at Iowa State University and served as the founding head for three years. He was awarded in 2008 the Prometheus Award for Innovation in Teaching for the software engineering courses he developed. He was awarded in 2012 the Iowa State Board of Regents Professor Award for excellence in research, teaching, and service. He has served as a Distinguished ACM Lecturer.

Ahmed Tamrawi is a Predoctoral Fellow at Iowa State University. Tamrawi has worked on the DARPA APAC and the DARPA STAC projects. He did his Ph.D. research on verification of safety properties of the Linux kernel (

Jon Mathews is the Chief Architect of the Atlas (, the platform used by the Iowa State team to build security toolboxes for the DARPA APAC and STAC programs. Jon Mathews has been one of the three key cybersecurity analysts on the DARPA projects.

Software Analytics: Challenges and Opportunities

Nowadays, software development projects produce a large number of software artifacts including source code, execution traces, end-user feedback, as well as informal documentation such as developers' discussions, change logs, StackOverflow, and code reviews. Such data embeds rich and significant knowledge about software projects, their quality and services, as well as the dynamics of software development. Most often, this data is not organized, stored, and presented in a way that is immediately useful to software developers and project managers to support their decisions. To help developers and managers understand their projects, how they evolve, as well as support them during their decision-making process, software analytics - use of analysis, data, and systematic reasoning for making decisions - have been recently emerged as an emerging field of modern data analysis. While results obtained from analytics solutions suggested so far are promising, there are still several challenges associated with the adoption of software analytics into software development processes, as well as the development and integration of analytics tools in practical settings.

We, therefore, propose a tutorial on software analytics. The tutorial will start with an introduction on software analytics. Next, we will discuss the main challenges and opportunities associated with software analytics. Then, we will present examples of our recent research making use of software analytics including mobile apps quality, code review process and its quality, analytics for the Software Engineering Twitter space, as well as our recent research on the use of analytics to solve scheduling problems in the cloud.

Latifa Guerrouj is an Assistant Professor at the Department of Software Engineering and Information Technologies of École de Technologie Supérieure, Montréal, Canada. She hold a Ph.D. from the Department of Computer Science and Software Engineering (DGIGL) of Polytechnique de Montréal (2013) and engineering degree with honours in Computer Science (2008). Latifa's research interests span several software engineering areas, including empirical software engineering, software analytics, data mining, and mining software repositories.

More info at

Olga Baysal is an Assistant Professor at the School of Computer Science, Carleton University, Ottawa, Canada. She received a Ph.D. (2014) in Computer Science from the University of Waterloo, Canada. Her research interests span a wide range of software engineering areas, including empirical software engineering, mining software repositories, software analytics, software maintenance and evolution, and human aspects of software engineering. Much of Olga's work focuses on understanding how software engineers create, use and maintain software systems.

More info at

David Lo is an Assistant Professor in the School of Information Systems at Singapore Management University. He received his PhD from School of Computing, National University of Singapore in 2008. Before that, he was studying at School of Computer Engineering, Nanyang Technological University and graduated with a B.Eng. (Hons I) in 2004. David works in the intersection of software engineering and data mining. His research interests include dynamic program analysis, specification mining, and pattern mining. He is a member of the IEEE and the ACM.

More info at

Foutse Khomh is an Assistant Professor at the École Polytechnique de Montréal, where he leads the SWAT Lab on software analytics and cloud engineering research. Prior to this position he was a Research Fellow at Queen's University (Canada), working with the Software Reengineering Research Group and the NSERC/RIM Industrial Research Chair in Software Engineering of Ultra Large Scale Systems. He received his Ph.D. in Software Engineering from the University of Montreal in 2010. His main research interest is in the field of empirical software engineering, with an emphasis on developing techniques and tools to improve software quality. He co-founded the International Workshop on Release Engineering and was one of the editors of the first special issue on Release Engineering in the IEEE Software magazine.

More info at

The Use of Text Retrieval and Natural Language Processing in Software Engineering

During software evolution many artifacts are created or modified, many including unstructured information (e.g., natural language text). Software artifacts written in natural language (e.g., requirements, user manuals, bug reports, developers’ communication, etc.), together with the source code comments and identifiers encode important information. Retrieving and analyzing this information is extremely important for supporting program comprehension and a variety of software evolution tasks.

Text retrieval (TR) methods have been proved as suitable candidates for the retrieval and the analysis of textual data embedded in software and other sources. This technical briefing presents some of the most popular TR methods and focuses on their applications in software engineering (SE). In most SE applications, TR techniques are used in conjunction with natural language processing (NLP) tools. The main NLP techniques used by software engineering researchers and applied to software engineering tasks will also be presented.

Sonia Haiduc is an Assistant Professor at Florida State University. Her research interests are in software maintenance, software evolution, and program comprehension. Her Ph.D. dissertation (2013) focused on the use of NLP and machine learning techniques to improve applications of TR in software engineering, especially with query reformulations. Her papers have been published in several highly selective software engineering venues. She is one of the organizers of the Workshop on Mining Unstructured Data in Software Engineering and currently a member of the organizing committee for SANER 2016 and ICSME 2016. She has also been involved in the organizing committee of several previous conferences in the field. Haiduc has also served as a program committee member for several conferences, including MSR, ICSME, ICPC, SANER, WCRE, etc. She has also reviewed for various SE top journals, including TSE, TOSEM, EMSE, JSME, etc.

More info at

Venera Arnaoudovais an Assistant Professor at Washington State University. She received her Ph.D. degree in 2014 from Polytechnique Montréal under the supervision of Dr. Giuliano Antoniol and Dr. Yann-Gaël Guéhéneuc. Her research interest is in the domain of software evolution and particularly, the analysis of source code lexicon and documentation. Her dissertation focused on the improvement of the code lexicon and its consistency using NLP, fault prediction models, and empirical studies. Arnaoudova has published in several international SE conferences and journals. She is currently serving as program committee member for ICPC 2016, ICSME 2016, SCAM 2016, SANER 2016 Tool Track. She has also served as an external reviewer for various previous conferences, including ICSE 2014, MSR 2014, CSMR 2013, and others.

More info at

Andrian Marcus is an Associate Professor at The University of Texas at Dallas. His current research interests are focused on software evolution and program comprehension. He is best known for his more than decade-long work on using information retrieval and text mining techniques for software analysis to support various comprehension tasks during software evolution. Marcus received several Best Paper Awards and he is the recipient of the NSF CAREER award in 2009. Marcus gave more than 20 invited tutorials on the use of text retrieval techniques to support SE tasks at universities, companies, and summer schools. He was the Chair of the steering committee of ICSME and served on many conferences as chair and program committee member and also serves on the editorial board of three SE journals (TSE, EMSE, JSEP).

More info at

Giuliano Antoniol is a Professor at Polytechnique Montréal, where he works in the areas of software evolution, software traceability, search-based software engineering, and software maintenance. He worked for several software companies, research institutions and universities. In 2005 he was awarded the Canada Research Chair Tier I in Software Change and Evolution. He published more than 190 papers in journals and international conferences, several works on applying information retrieval approaches to software engineering. Some of his papers received Best Paper Awards. He served as program chair, industrial chair, tutorial, and general chair of many international conferences and workshops, on the editorial boards of five journals, and on the program committees of more than 30 IEEE and ACM conferences and workshops.

More info at

Advances in Unit Testing: Theory and Practice

Parameterized unit testing, recent advances in unit testing, is a new methodology extending the previous industry practice based on traditional unit tests without parameters. A parameterized unit test (PUT) is simply a test method that takes parameters, calls the code under test, and states assertions. Parameterized unit testing allows the separation of two testing concerns or tasks: the specification of external, black-box behavior (i.e., assertions or specifications) by developers and the generation and selection of internal, white-box test inputs (i.e., high-code-covering test inputs) by tools. PUTs have been supported by various testing frameworks. Various open source and industrial testing tools also exist to generate test inputs for PUTs. This technical briefing presents latest research on principles and techniques, as well as practical considerations to apply parameterized unit testing on real-world programs, highlighting success stories, research and education achievements, and future research directions in developer testing.

Tao Xie is an Associate Professor and Willett Faculty Scholar in the Department of Computer Science at the University of Illinois at Urbana-Champaign, USA. He has worked as a visiting researcher at Microsoft Research. His research interests are in software engineering, focusing on software testing, program analysis, software analytics, software security, and educational software engineering. He was an ACM Distinguished Speaker and is an IEEE Computer Society Distinguished Visitor. He is an ACM Distinguished Scientist and an IEEE Senior Member. He has had rich history of co-presenting various tutorials on software testing and software analytics.

More info at

Nikolai Tillmann is a Principal Software Engineering Manager in the Tools for Software Engineers group at Microsoft in Redmond, USA, where he is currently leading an effort on cloud-based software engineering. His main areas of research are mobile and cloud-based software engineering, program analysis, and testing. He started and led the TouchDevelop project, the Pex/IntelliTest project, and the Pex4Fun/Code Hunt project. He has had rich history of co-presenting various tutorials on software testing and TouchDevelop.

More info at

Pratap Lakshman is a Senior Program Manager in the Developer Division at Microsoft, where he currently works on testing tools for software engineers. His main areas of work are programming languages, programming language processors, and tools. He represented Microsoft at the ECMA TC39 committee and served as the Project Editor for the ECMAScript 5 Language Specification, and has worked extensively on the .NET CLR (Compact Framework) and allied diagnostic tools. He has been a contributor to the Pex project and its inclusion into Visual Studio as IntelliTest.