ICSE Companion 2014- Companion Proceedings of the 36th International Conference on Software Engineering

Full Citation in the ACM Digital Library

SESSION: Keynote

Socio-technical coordination (keynote)

SESSION: Panel Session 1

Ready-set-transfer: exploring the technology transfer readiness of academic research projects (panel)

Software engineering for the web: the state of the practice

SESSION: Dependability, Safety, and Reliability

An empirical study of structural defects in industrial use-cases

Where do developers log? an empirical study on logging practices in industry

Active files as a measure of software maintainability

Nondeterminism in MapReduce considered harmful? an empirical study on non-commutative aggregators in MapReduce programs

SESSION: Processes and Agile Development

Automated software integration flows in industry: a multiple-case study

How to build a good practice software project portfolio?

Distributed-pair programming can work well and is not just distributed pair-programming

Empirical insights into the perceived benefits of agile software engineering practices: a case study from SAP

Evidence-based decision making in lean software project management

SESSION: Panel Session 2

Analyzing software data: after the gold rush (a goldfish-bowl panel)

Experiences gamifying developer adoption of practices and tools

SESSION: Software Testing and Analysis

Objective safety compliance checks for source code

A case study on testing, commissioning, and operation of very-large-scale software systems

Assessing model-based testing: an empirical study conducted in industry

Collecting and leveraging a benchmark of build system clones to aid in quality assessments

SESSION: Formal Development

Improving software through automatic untangling of cyclic dependencies

A systematic approach to transforming system requirements into model checking specifications

A candid industrial evaluation of formal software verification using model checking

Architectural dependency analysis to understand rework costs for safety-critical systems

SESSION: Panel Session 3

Characterization of operational failures from a business data processing SaaS platform

Extrinsic influence factors in software reliability: a study of 200,000 windows machines

SESSION: Configuration and Requirements

Configurations everywhere: implications for testing and debugging in practice

Software feature location in practice: debugging aircraft simulation systems

Deriving requirements model from textual use cases

Tracking requirements evolution by using issue tickets: a case study of a document management and approval system

SESSION: MOOCs in Education and Training

Using MOOCs to reinvigorate software engineering education (keynote)

Functional programming for all! scaling a MOOC for students and professionals alike

SESSION: Collaborative Teaching and Training

Knowledge transfer in collaborative teams: experiences from a two-week code camp

Quasi-crowdsourcing testing for educational projects

Teaching reuse-driven software engineering through innovative role playing

Towards a supercollaborative software engineering MOOC

Teaching students to understand large programs by understanding historical context

SESSION: Industry Needs and Innovative Teaching Methods

Investigating the skill gap between graduating students and industry expectations

Deploying an online software engineering education program in a globally distributed organization

Scenario-based programming: reducing the cognitive load, fostering abstract thinking

Lessons learned managing distributed software engineering courses

SESSION: Improving Student Software Projects

State-based monitoring and goal-driven project steering: field study of the SEMAT essence framework

Introduction of continuous delivery in multi-customer project courses

Process mining software repositories from student projects in an undergraduate software engineering course

Comparing test quality measures for assessing student-written tests

SESSION: Agility and Progressive Learning

An inverted classroom experience: engaging students in architectural thinking for agile projects

Quantitative assessment with using ticket driven development for teaching scrum framework

Teaching students scrum using LEGO blocks

A compiler project with learning progressions

SESSION: Collaboration and Cloud

Integrating software project resources using source code identifiers

Development context driven change awareness and analysis framework

New opportunities for extracting insights from cloud based IDEs

Cloudlet-based cyber-foraging for mobile systems in resource-constrained edge environments

A runtime cloud efficiency software quality metric

SESSION: Testing and Evolution

Metamorphic fault tolerance: an automated and systematic methodology for fault tolerance in the absence of test oracle

Software bug localization with markov logic

Steering model-based oracles to admit real program behaviors

Shadow symbolic execution for better testing of evolving software

Leveraging P2P networks to address the test scenario explosion problem

A framework to advise tests using tests

SESSION: Human Inputs in Software Engineering and Adaptation

Brainware: synergizing software systems and neural inputs

Quantifying programmers' mental workload during program comprehension based on cerebral blood flow measurement: a controlled experiment

Who is the expert? combining intention and knowledge of online discussants in collaborative RE tasks

Who asked what: integrating crowdsourced FAQs into API documentation

A world full of surprises: bayesian theory of surprise to quantify degrees of uncertainty

Modeling self-adaptive software systems with learning petri nets

SESSION: Learning and Mining

Automatic search term identification for change tasks

An automated approach to detect violations with high confidence in incremental code using a learning system

A novel quantitative evaluation approach for software project schedules using statistical model checking

Reusable execution replay: execution record and replay for source code reuse

Mining precise performance-aware behavioral models from existing instrumentation

Writing bidirectional model transformations as intentional updates

SESSION: Bugs and Failures

Do the fix ingredients already exist? an empirical inquiry into the redundancy assumptions of program repair approaches

Reproducing software failures by exploiting the action history of undo features

Bugarium: 3d interaction for supporting large-scale bug repositories analysis

RegViz: visual debugging of regular expressions

Characterizing defect trends in software support

On failure classification: the impact of "getting it wrong"

SESSION: Process and Social Aspects

API as a social glue

Software engineering for 'social good': integrating action research, participatory design, and agile development

Collaborative infrastructure for test-driven scientific model validation

Lab-based action design research

Flexible product line engineering with a virtual platform

Compiler error notifications revisited: an interaction-first approach for helping developers more effectively comprehend and resolve error notifications

SESSION: Automated Programming Support

ImpactMiner: a tool for change impact analysis

Migrating code with statistical machine translation

LTSA-PCA: tool support for compositional reliability analysis

DASHboards: enhancing developer situational awareness

Product assignment recommender

Verily: a web framework for creating more reasonable web applications

VeriWS: a tool for verification of combined functional and non-functional requirements of web service composition

SESSION: Software Understanding for Programmers and Researchers

SEWordSim: software-specific word similarity database

BOAT: an experimental platform for researchers to comparatively and reproducibly evaluate bug localization techniques

VMVM: unit test virtualization for Java

ViVA: a visualization and analysis tool for distributed event-based systems

Cookbook: in situ code completion using edit recipes learned from examples

Atlas: a new way to explore software, build analysis tools

Teamscale: software quality control in real-time

SESSION: Posters

APISynth: a new graph-based API recommender system

Shedding light on distributed system executions

Fault localization for build code errors in makefiles

Avoiding deadlocks using stalemate and dimmunix

Assuring system goals under uncertainty with active formal models of self-adaptation

Timing challenges in automotive software architectures

An adaptive bayesian approach for URL selection to test performance of large scale web-based systems

DEECo: an ecosystem for cyber-physical systems

Calibrating use case points

The MechatronicUML method: model-driven software engineering of self-adaptive mechatronic systems

Model-driven development of diverse user interfaces

Statistical learning of API mappings for language migration

Asymmetric software structures in the Linux kernel

Towards designing assistive software applications for discrete trial training

An optimized design approach for extending HMI systems with mobile devices

Proposing a theory of gamification effectiveness

Modeling and model checking by modular approach

Hybrid test data generation

Software defect prediction based on collaborative representation classification


COASTmed: software architectures for delivering customizable, policy-based differential web services

Formal verification problems in a big data world: towards a mighty synergy

Cross-platform testing and maintenance of web and mobile applications


Human aspects, gamification, and social media in collaborative software engineering

ReuseSEEM: an approach to support the definition, modeling, and analysis of software ecosystems

Summarization of complex software artifacts

SESSION: Initial A

Nirikshan: process mining software repositories to identify inefficiencies, imperfections, and enhance existing process capabilities

Performance analysis of object-oriented software

Improving exception handling with recommendations

Verifying incomplete and evolving specifications

Quantitative properties of software systems: specification, verification, and synthesis

SESSION: Initial B

Automatic generation of cost-effective test oracles

Dynamic data-flow testing

Holistic recommender systems for software engineering

Understanding the dynamics of test-driven development

On the use of visualization for supporting software reuse

SESSION: Initial C

Understanding the redundancy of software systems

Study of task processes for improving programmer productivity

Improving enterprise software maintenance efficiency through mining software repositories in an industry context

Enhancing feature interfaces for supporting software product line maintenance

Supporting evolution and maintenance of Android apps

SESSION: ACM Student Research Competition

Exception handling for dynamic information flow control

Automatic performance modeling of multithreaded programs

Incremental reachability checking of KernelC programs using matching logic

Exploiting undefined behaviors for efficient symbolic execution

Identifying caching opportunities, effortlessly

Program transformations to fix C buffer overflows

Characteristics of the vulnerable code changes identified through peer code review

Privacy and security requirements framework for the internet of things (IoT)