ICSME 2017: International Conference on Software Maintenance and Evolution – Shanghai, China

Please submit to the 33rd International Conference on Software Maintenance and Evolution (ICSME 2017). The submission deadline is Thursday, April 6 (abstracts March 30) for the technical track— as always, please check the webpage for any extensions. Together with Lu Zhang I’m Co-Chair of the program committee for the research track. ICSME will be the first IEEE-sponsored conference to award the IEEE TCSE Distinguished Paper Awards.

The International Conference on Software Maintenance and Evolution (ICSME) is the premier international forum for researchers and practitioners from academia, industry, and government to present, discuss, and debate the most recent ideas, experiences, and challenges in software maintenance and evolution.

ICSME 2017, the 33rd in the conference series, will be held in Shanghai, China. Shanghai is the largest and most prosperous city in China. World Expo 2010 was held in Shanghai. Shanghai is situated in the Yangtze River delta next to the East China Sea.

As one of the largest cities in Asia, Shanghai has rich cultural relics. You can not only experience a modern trip including the Bund, Xintiandi, the Oriental Pearl TV Tower and World Financial Center, but also explore an old and ancient journey by visiting the Yuyuan Garden, Jade Buddha Temple and Zhujiajiao Ancient Town. Nearby Suzhou and Hangzhou, you can easily visit some ancient water towns in Jiangsu and Zhejiang Provinces from Shanghai.

This is Shanghai from Rob Whitworth on Vimeo.

The Work Life of Developers: Activities, Switches and Perceived Productivity – TSE 2017

Many software development organizations strive to enhance the productivity of their developers. All too often, efforts aimed at improving developer productivity are undertaken without knowledge about how developers spend their time at work and how it influences their own perception of productivity. To fill in this gap, we deployed a monitoring application at 20 computers of professional software developers from four companies for an average of 11 full workdays in situ. Corroborating earlier findings, we found that developers spend their time on a wide variety of activities and switch regularly between them, resulting in highly fragmented work. Our findings extend beyond existing research in that we correlate developers’ work habits with perceived productivity and also show productivity is a personal matter. Although productivity is personal, developers can be roughly grouped into morning, low-at-lunch and afternoon people. A stepwise linear regression per participant revealed that more user input is most often associated with a positive, and emails, planned meetings and work unrelated websites with a negative perception of productivity. We discuss opportunities of our findings, the potential to predict high and low productivity and suggest design approaches to create better tool support for planning developers’ workdays and improving their personal productivity.

[click for more details…]

Master Maker: Understanding Gaming Skill through Practice and Habit from Gameplay Behavior – topiCS 2017

The study of expertise is difficult to do in a lab environment due to the challenge of finding people at different skill levels and the lack of time for participants to acquire mastery. In this paper, we report on two studies that analyze naturalistic gameplay data using cohort analysis to better understand how skill relates to practice and habit. Two cohorts are analyzed, each from two different games (Halo Reach and StarCraft 2). Our work follows skill progression through 7 months of Halo matches for a holistic perspective, but also explores low-level in-game habits when controlling game units in StarCraft 2. Players who played moderately frequently without long breaks were able to gain skill the most efficiently. What set the highest performers apart was their ability to gain skill more rapidly and without dips compared to other players. At the beginning of matches, top players habitually warmed up by selecting and re-selecting groups of units repeatedly in a meaningless cycle. They exhibited unique routines during their play that aided them when under pressure.

[click for more details…]

Ramp-up Journey of New Hires: Do strategic practices of software companies influence productivity? – ISEC 2017

Software companies regularly recruit skilled and talented employees to meet evolving business requirements. Although companies expect early contributions, new hires often take several weeks to reach the same productivity level as existing employees. We refer to this transition of new hires from novices to experts as ramp-up journey. There can be various factors such as lack of technical skills or lack of familiarity with the process that influence the ramp-up journey of new hires. The goal of our work is to identify those factors and study their influence on the ramp-up journey. We expect the results from this study to help identify the need of various types of assistance to new hires to ramp-up faster. As a first step towards our goal, this paper explores the impact of two strategic practices, namely distributed development and internship on the ramp-up journey of new hires. Our results show that new hires in proximity to the core development team and new hires with prior internship experience perform better than others in the beginning. In the overall ramp-up journey, the effect of the two factors attenuates, yet nevertheless better compared to their counterparts. Product teams can use this information to pay special attention to non-interns and use better tools for distributed, cooperative work to help new hires ramp-up faster.

[click for more details…]

An empirical investigation of single-objective and multiobjective evolutionary algorithms for developer’s assignment to bugs – JSEP 2016

In this paper, the modeling of developers’ assignment to bugs (DAB) is studied. The problem is modeled both as a single objective (minimize bug fix time) and as a bi-objective (minimize bug fix time and cost) combinatorial optimization problem. Two models of developer assignment are considered where in the first model a single developer is assigned per bug (single developer model), while in the second model a single developer is assigned for each competency area of a bug (individual competency model). The latter model is proposed in this paper. For the single developer model, GA@DAB, an existing genetic algorithm-based approach, is extended to support precedence among bugs. For the individual competency model of DAB, one genetic algorithm-based approach (Competence@DAB) and one nondominated sorting genetic algorithm II-based approach (CompetenceMulti2@DAB) are proposed to generate solutions minimizing time and minimizing both time and cost, respectively. The performance of the proposed approaches was evaluated for 2040 bugs of 19 open-source milestone projects from the Eclipse platform. Our results and analysis show that the proposed individual competency model is far better than the single developer model, with average bug fix time reduction of 39.7% across all projects.

[click for more details…]

MSR 2017: International Conference on Mining Software Repositories – Buenos Aires, Argentina

Please submit to the 14th International Conference on Mining Software Repositories (MSR 2017). The submission deadline is February 10 (abstracts February 3) for the technical track— as always, please check the webpage for any extensions. I’m a member of the Steering Committee.

Software repositories such as source control systems, archived communications between project personnel, and defect tracking systems are used to help manage the progress of software projects. Software practitioners and researchers are recognizing the benefits of mining this information to support the maintenance of software systems, improve software design/reuse, and empirically validate novel ideas and techniques. Research is now proceeding to uncover the ways in which mining these repositories can help to understand software development and software evolution, to support predictions about software development, and to exploit this knowledge in planning future development. The goal of this two-day international conference is to advance the science and practice of software engineering via the analysis of data stored in software repositories.

This year, we solicit three types of papers: research, practice, and data. As in previous MSR editions, there will be a Mining Challenge and a special issue of the best MSR papers published in the Empirical Software Engineering journal. For the research and practice papers, we especially encourage submissions that facilitate reproducibility and follow up research by publicly providing data sets and tools. Publicly providing reusable research artifacts (data or tools) is not mandatory, but will strengthen the reproducibility of the research, which is an explicit evaluation criterion

ECASE 2017: International Workshop on Establishing a Community-Wide Infrastructure for Architecture-Based Software Engineering – Buenos Aires, Argentina

Please submit to the First International Workshop on Establishing a Community-Wide Infrastructure for Architecture-Based Software Engineering (ECASE 2017). The submission deadline is January 20, 2017 — as always, please check the webpage for any extensions. I’m a member of the Program Committee.

Software architecture plays an important role in facilitating the maintenance of a software system. Over the past two decades, software architecture research has yielded many different tools and techniques for understanding and maintaining the architectures of large, complex software systems. However, empirical research and technology transfer are impeded by myriad disjoint research and development environments, lack of a shared infrastructure, high initial costs associated with developing robust tools, and a lack of datasets needed to conduct empirical research in this domain.

The workshop gathers researchers and practitioners from two areas—software architecture and empirical software engineering—to explore the issues at the intersection of these areas and identify plausible solutions that jointly move both areas forward. The overall objective of the workshop is to collaboratively elicit requirements, propose a design for, and determine the foundation of potential infrastructures and instruments that would support empirical research in the domain of architecture-based software development and maintenance. blockquote>