ACM, the Association for Computing Machinery, and the ACM Special Interest Group on Software Engineering (SIGSOFT) will present the joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) from November 4-9 in Lake Buena Vista, Florida. ESEC/FSE brings together researchers, practitioners, and educators to exchange the latest research results and trends, as well as their practical application in all areas of software engineering.
According to one recent study, there are 23 million software developers (engineers) worldwide and the number is expected to grow to 27.7 million by 2023. Several trends are reshaping the software industry, including the growth of cloud computing; big data collection and analytics; artificial intelligence; and cybersecurity. ESEC/FSE encompasses the most important developments in the field and includes talks on recent innovations in software engineering; industry best practices; software engineering of the future; tool demonstrations; and a student research competition.
"The merger of ESEC and FSE has made this a truly international forum and one of the largest and most important gatherings on software engineering practice in the world," said Publicity Co-Chair Raffi Khatchadourian, Assistant Professor of Computer Science at Hunter College. "We are especially excited about the New Ideas and Emerging Results portion of our program. We will present several papers which challenge the status quo of our discipline through innovative, radical, thought-provoking new ideas. As always, the ESEC/FSE 2018 Industrial Track will be a showcase for outstanding applied research in software engineering."
ESEC/FSE 2018 HIGHLIGHTS:
"Behind Every Great Deep Learning Framework Is an Even Greater Programming Languages Concept"
Erik Meijer, Facebook
This talk will illustrate the deep programming language principles behind differentiable programming, which will hopefully inspire the working Software 1.0 engineer to pay serious attention to the threats and opportunities of Software 2.0.
"Ten Years of Hunting for Similar Code for Fun and Profit"
Lingxio Jiang, Singapore Management University, Singapore; Stéphane Glondu, Inria, France; Zhendong Su, ETH Zurich, Switzerland
In 2018, the DECKARD paper received the ACM SIGSOFT Impact Paper Award. In this keynote, the authors review the work's inception, evolution and impact on its subsequent work and applications, and to share their thoughts on exciting ongoing and future developments.
"The Future of Co-Development"
Dave Lang, Iron Galaxy Studios, LLC
In software "co-development" internal and external teams collaborate in an integrated way to develop intuitive software. Based on his perspective as the Co-CPO of Iron Galaxy, a gaming studio, Lang offers a perspective on how software co-development will evolve in the coming years.
Papers (partial list):
"Predicting Node Failure in Cloud Service Systems"
Qingwei Lin,Microsoft Research, China; Ken Hsieh, Yingnong Dang, Microsoft, USA;Hongyu Zhang, University of Newcastle, Australia; Kaixin Sui, Yong Xu, Jian-Guang Lou, Chenggang Li, Microsoft China; Youjiang Wu, Randolph Yao, Murali Chintalapati , Microsoft USA; Dongmei Zhang, Microsoft Research, China
In recent years, many traditional software systems have migrated to cloud computing platforms and are provided as online services. The service quality matters because system failures could seriously affect business and user experience. A cloud service system typically contains a large number of computing nodes. In reality, nodes may fail and affect service availability. In this paper, the authors propose a failure prediction technique, which can predict the failure-proneness of a node in a cloud service system based on historical data, before node failure actually happens. The ability to predict faulty nodes enables the allocation and migration of virtual machines to the healthy nodes, therefore improving service availability.
"Towards a Theory of Software Development Expertise"
Sebastian Baltes, Stephan Diehl, University of Trier, Germany
Software development includes diverse tasks such as implementing new features, analyzing requirements, and fixing bugs. Being an expert in those tasks requires a certain set of skills, knowledge, and experience. Several studies investigated individual aspects of software development expertise, but what is missing is a comprehensive theory. The authors present a first conceptual theory of software development expertise that is grounded in data from a mixed-methods survey with 335 software developers and in literature on expertise and expert performance.
"Winning the App Production Rally"
Eshan Noei, Daniel Alencar Da Costa, Ying Zou, Queens University, Canada
When a user looks for an Android app in Google Play Store, a number of apps appear in a specific rank. Mobile apps with higher ranks are more likely to be noticed and downloaded by users. The goal of this work is to understand the evolution of ranks and identify the variables that share a strong relationship with ranks. By applying a regression model, the authors find the variables that statistically significantly explain the rank trends, such as the number of releases.
New Ideas and Emerging Results (partial list)
"Software Engineering Collaboratories (SEClabs) and Collaboratories as a Service (CaaS)"
Elena Sherman, Boise State University; Robert Dyer, Bowling Green State University
Novel research ideas require strong evaluations. Modern software engineering research evaluation typically requires a set of benchmark programs. Open source software repositories have provided a great opportunity for researchers to find such programs for use in their evaluations. Many tools/techniques have been developed to help automate the curation of open source software. The authors envision research communities coming together to create SEClab instances, where research artifacts can be made publicly available to other researchers. They believe that, if their vision is realized, the speed and transparency of research will drastically increase.
Yuriy Brun, Alexandra Meliou, University of Massachusetts at Amherst
A goal of software engineering research is advancing software quality and the success of the software engineering process. However, while recent studies have demonstrated a new kind of defect in software related to its ability to operate in fair and unbiased manner, software engineering has not yet wholeheartedly tackled these new kinds of defects, thus leaving software vulnerable. This paper outlines a vision for how software engineering research can help reduce fairness defects and represents a call to action by the software engineering research community to embrace that vision.
"Towards Quantifying the Development Value of Code"
Jinglei Ren, Microsoft Research, China; Hezheng Yin, Armando Fox, UC Berkeley; Qingda Hu, Tsinghua University, China ; Wojciech Koszek, FreeBSD Project
Quantifying the value of developers' code contributions to a software project requires more than simply counting lines of code or commits. The authors define the development value of code as a combination of its structural value (the effect of code reuse) and its non-structural value (the impact on development). The authors propose techniques to automatically calculate both components of development value and combine them using Learning to Rank, an approach that uses machine learning in ranking models.
Industry Track (partial list)
"Are Mobile Banking Apps Secure? What Can Be Improved?"
Sen Chen, Ting Su, Lingling Fan, , Guozhu Meng, Nanyang Technological University, Singapore; Minhui Xue, Optus Macquarie University Cyber Security Hub; Yang Liu, Nanyang Technological University, Singapore ; Lihua Xu, East China Normal University, China
The authors' recent work discovered thousands of vulnerabilities in 693 banking apps, which indicates these apps are not as secure as expected. The paper shows that: (1) people may have inconsistent understandings of the vulnerabilities and different criteria for rating severity; (2) state-of-the-art tools are not effective in detecting vulnerabilities that the banking entities most concern; and (3) more efforts should be endeavored in different aspects to secure banking apps.
"Modeling and Testing a Family of Surgical Robots: An Experience Report"
Niloofar Mansoor, Jonathan A. Saddler, Bruno Silva, Hamid Bagheri, Myra B. Cohen, Shane Farritor, University of Nebraska-Lincoln
In this paper, the authors study a family of surgical robots, that combine hardware and software. In the process, the authors contend that there are some interesting and open challenges for the research community, which if solved will lead towards more dependable safety-critical cyber-physical systems.
About ACM SIGSOFT
ACM SIGSOFT focuses on issues related to all aspects of software development and maintenance. Areas of special interest include: requirements, specification and design, software architecture, validation, verification, debugging, software safety, software processes, software management, measurement, user interfaces, configuration management, software engineering environments, and CASE tools. SIGSOFT sponsors or co-sponsors many conferences and events, and publishes Software Engineering Notes, a bi-monthly newsletter.
ACM, the Association for Computing Machinery, is the world's largest educational and scientific computing society, uniting computing educators, researchers and professionals to inspire dialogue, share resources and address the field's challenges. ACM strengthens the computing profession's collective voice through strong leadership, promotion of the highest standards, and recognition of technical excellence. ACM supports the professional growth of its members by providing opportunities for life-long learning, career development, and professional networking.