Opentocs

ESEM '18- Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement

ESEM '18- Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement

Full Citation in the ACM Digital Library

SESSION: Full research papers

Architecture, technologies and challenges for cyber-physical systems in industry 4.0: a systematic mapping study

  • Florian Hofer

Background: The vision of a fourth industrial revolution lately strongly captured the attention of research A Cyber-physical system (CPS) is one of the main drivers of this vision. Such system controls an underlying factory interacting with sensors, actuators and other systems creating systems-of-systems. A main point of interest is how these components are built and interconnected, i.e. the system's architecture, and how it might be improved to increase reliability and security.

Continue reading

ESEM '20: Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)

ESEM '20: Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)

Full Citation in the ACM Digital Library

SESSION: Technical Papers

A large-scale comparative analysis of Coding Standard conformance in Open-Source Data Science projects

  • Andrew J. Simmons
  • Scott Barnett
  • Jessica Rivera-Villicana
  • Akshat Bajaj
  • Rajesh Vasa

Background: Meeting the growing industry demand for Data Science requires cross-disciplinary teams that can translate machine learning research into production-ready code. Software engineering teams value adherence to coding standards as an indication of code readability, maintainability, and developer expertise. However, there are no large-scale empirical studies of coding standards focused specifically on Data Science projects. Aims: This study investigates the extent to which Data Science projects follow code standards. In particular, which standards are followed, which are ignored, and how does this differ to traditional software projects? Method: We compare a corpus of 1048 Open-Source Data Science projects to a reference group of 1099 non-Data Science projects with a similar level of quality and maturity. Results: Data Science projects suffer from a significantly higher rate of functions that use an excessive numbers of parameters and local variables. Data Science projects also follow different variable naming conventions to non-Data Science projects. Conclusions: The differences indicate that Data Science codebases are distinct from traditional software codebases and do not follow traditional software engineering conventions. Our conjecture is that this may be because traditional software engineering conventions are inappropriate in the context of Data Science projects.

Continue reading

FairWare '18- Proceedings of the International Workshop on Software Fairness

FairWare '18- Proceedings of the International Workshop on Software Fairness

Full Citation in the ACM Digital Library

SESSION: Fairness definitions and guarantees

Fairness definitions explained

  • Sahil Verma
  • Julia Rubin

Algorithm fairness has started to attract the attention of researchers in AI, Software Engineering and Law communities, with more than twenty different notions of fairness proposed in the last few years. Yet, there is no clear agreement on which definition to apply in each situation. Moreover, the detailed differences between multiple definitions are difficult to grasp. To address this issue, this paper collects the most prominent definitions of fairness for the algorithmic classification problem, explains the rationale behind these definitions, and demonstrates each of them on a single unifying case-study. Our analysis intuitively explains why the same case can be considered fair according to some definitions and unfair according to others.

Continue reading

FormaliSE 2014- Proceedings of the 2nd FME Workshop on Formal Methods in Software Engineering

FormaliSE 2014- Proceedings of the 2nd FME Workshop on Formal Methods in Software Engineering

Full Citation in the ACM Digital Library

SESSION: Invited Talk

Software reliability via machine learning (invited talk)

  • Aditya V. Nori

SESSION: Integration of Formal Methods in Software Engineering I

Formal specification comprehension: the art of reading and writing z

  • Andreas Bollin
  • Dominik Rauner-Reithmayer

SESSION: Integration of Formal Methods in Software Engineering II

Flexible modular formalization of UML sequence diagrams

  • Luciano Baresi
  • Mohammad Mehdi Pourhashem Kallehbasti
  • Matteo Rossi

From an abstract specification in event-b toward an UML/OCL model

  • Imen Sayar
  • Mohamed Tahar Bhiri

Generating supportive hypotheses in introducing formal methods using a software processes improvement model

  • Shigeru Kusakabe
  • Hsin-Hung Lin
  • Yoichi Omori
  • Keijiro Araki

SESSION: Analysis and Verification

Using mCRL2 for the analysis of software product lines

  • Maurice H. ter Beek
  • Erik P. de Vink

Compiling polychronous programs into conditional partial orders for ASIP synthesis

  • Mahesh Nanjundappa
  • Sandeep K. Shukla

SESSION: Verification and Testing

Formalization of software models for cyber-physical systems

  • Sandeep Neema
  • Gabor Simko
  • Tihamer Levendovszky
  • Joseph Porter
  • Akshay Agrawal
  • Janos Sztipanovits

Analysis and testing of PLEXIL plans

  • Jason Biatek
  • Michael W. Whalen
  • Mats P. E. Heimdahl
  • Sanjai Rayadurgam
  • Michael R. Lowry

Continue reading

FormaliSE '16- Proceedings of the 4th FME Workshop on Formal Methods in Software Engineering

FormaliSE '16- Proceedings of the 4th FME Workshop on Formal Methods in Software Engineering

Full Citation in the ACM Digital Library

Continue reading

FormaliSE '18- Proceedings of the 6th Conference on Formal Methods in Software Engineering

FormaliSE '18- Proceedings of the 6th Conference on Formal Methods in Software Engineering

Full Citation in the ACM Digital Library

SESSION: Keynote

Risk management for high tech systems

  • Marielle Stoelinga

How do we ensure that self-driving cars, nuclear power plants and Internet-of-things devices are safe and reliable? That is the topic of risk management. Fault tree analysis is a very popular technique here, deployed by many institutions like NASA, ESA, Honeywell, Ford, Airbus, the FDA, Toyota, Shell etc.

Continue reading

FormaliSE '20: Proceedings of the 8th International Conference on Formal Methods in Software Engineering

FormaliSE '20: Proceedings of the 8th International Conference on Formal Methods in Software Engineering

Full Citation in the ACM Digital Library

SESSION: Regular Papers

Active Learning of Decomposable Systems

  • Omar al Duhaiby
  • Jan Friso Groote

Active automata learning is a technique of querying black box systems and modelling their behaviour. In this paper, we aim to apply active learning in parts. We formalise the conditions on systems---with a decomposable set of actions---that make learning in parts possible. The systems are themselves decomposable through non-intersecting subsets of actions. Learning these subsystems/components requires less time and resources. We prove that the technique works for both two components as well as an arbitrary number of components. We illustrate the usefulness of this technique through a classical example and through a real example from the industry.

Continue reading

FoSADA '15: Proceedings of the 1st International Workshop on Future of Software Architecture Design Assistants

FoSADA '15: Proceedings of the 1st International Workshop on Future of Software Architecture Design Assistants

Full Citation in the ACM Digital Library

SESSION: Main Session

Session details: Main Session

  • Champagne Roger

FOSE 2014- Proceedings of the on Future of Software Engineering

FOSE 2014- Proceedings of the on Future of Software Engineering

Full Citation in the ACM Digital Library

SESSION: Future of Software Engineering

Software process

  • Alfonso Fuggetta
  • Elisabetta Di Nitto

Software engineering for mobility: reflecting on the past, peering into the future

  • Gian Pietro Picco
  • Christine Julien
  • Amy L. Murphy
  • Mirco Musolesi
  • Gruia-Catalin Roman

Software architecture: a travelogue

  • David Garlan

Software services: a research roadmap

  • Satish Chandra
  • Vibha Singhal Sinha
  • Saurabh Sinha
  • Krishna Ratakonda

Software traceability: trends and future directions

  • Jane Cleland-Huang
  • Orlena C. Z. Gotel
  • Jane Huffman Hayes
  • Patrick Mäder
  • Andrea Zisman

Software product line engineering and variability management: achievements and challenges

  • Andreas Metzger
  • Klaus Pohl

Engineering big data solutions

  • Audris Mockus

The (R) Evolution of social media in software engineering

  • Margaret-Anne Storey
  • Leif Singer
  • Brendan Cleary
  • Fernando Figueira Filho
  • Alexey Zagalsky

Software testing: a research travelogue (2000–2014)

  • Alessandro Orso
  • Gregg Rothermel

Software evolution and maintenance

  • Václav Rajlich

How programming languages will co-evolve with software engineering: a bright decade ahead

  • Emerson Murphy-Hill
  • Dan Grossman

Software engineering and automated deduction

  • Willem Visser
  • Nikolaj Bjørner
  • Natarajan Shankar

Probabilistic programming

  • Andrew D. Gordon
  • Thomas A. Henzinger
  • Aditya V. Nori
  • Sriram K. Rajamani

Certifiably safe software-dependent systems: challenges and directions

  • John Hatcliff
  • Alan Wassyng
  • Tim Kelly
  • Cyrille Comar
  • Paul Jones

Future of end-user software engineering: beyond the silos

  • Margaret M. Burnett
  • Brad A. Myers

The past, present, and future of MOOCs and their relevance to software engineering

  • Balakrishnan Dasarathy
  • Kevin Sullivan
  • Douglas C. Schmidt
  • Douglas H. Fisher
  • Adam Porter

Continue reading

FSE 2014- Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering

FSE 2014- Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering

Full Citation in the ACM Digital Library

SESSION: Keynote

Omlet: a revolution against big-brother social networks (invited talk)

  • Monica S. Lam

SESSION: Award Talks

From software engineering to software systems (invited talk)

  • Alexander L. Wolf

Ten years with evidence-based software engineering. what is it? has it had any impact? what¿s next? (invited talk)

  • Magne Jørgensen

SESSION: Perspectives from Industry

Experiences developing tools for developers (invited talk)

  • John Penix

Are you getting traction? tales from the tech transfer trenches (invited talk)

  • Satish Chandra

Data hard with a vengeance (invited talk)

  • Thomas Zimmermann

SESSION: Helping and Understanding Developers

Developers¿ code context models for change tasks

  • Thomas Fritz
  • David C. Shepherd
  • Katja Kevic
  • Will Snipes
  • Christoph Bräunlich

Software developers¿ perceptions of productivity

  • André N. Meyer
  • Thomas Fritz
  • Gail C. Murphy
  • Thomas Zimmermann

Enablers, inhibitors, and perceptions of testing in novice software teams

  • Raphael Pham
  • Stephan Kiesling
  • Olga Liskin
  • Leif Singer
  • Kurt Schneider

Feedback generation for performance problems in introductory programming assignments

  • Sumit Gulwani
  • Ivan Radiček
  • Florian Zuleger

SESSION: Debugging and Refactoring

Test case purification for improving fault localization

  • Jifeng Xuan
  • Martin Monperrus

Automatically generated patches as debugging aids: a human study

  • Yida Tao
  • Jindae Kim
  • Sunghun Kim
  • Chang Xu

A foundation for refactoring C with macros

  • Jeffrey L. Overbey
  • Farnaz Behrang
  • Munawar Hafiz

Vector abstraction and concretization for scalable detection of refactorings

  • Narcisa Andreea Milea
  • Lingxiao Jiang
  • Siau-Cheng Khoo

SESSION: Static Analysis

FlowTwist: efficient context-sensitive inside-out taint analysis for large codebases

  • Johannes Lerch
  • Ben Hermann
  • Eric Bodden
  • Mira Mezini

ORBS: language-independent program slicing

  • David Binkley
  • Nicolas Gold
  • Mark Harman
  • Syed Islam
  • Jens Krinke
  • Shin Yoo

JSAI: a static analysis platform for JavaScript

  • Vineeth Kashyap
  • Kyle Dewey
  • Ethan A. Kuefner
  • John Wagner
  • Kevin Gibbons
  • John Sarracino
  • Ben Wiedermann
  • Ben Hardekopf

A path-sensitively sliced control flow graph

  • Joxan Jaffar
  • Vijayaraghavan Murali

SESSION: Mining Software Repositories

Let's talk about it: evaluating contributions through discussion in GitHub

  • Jason Tsay
  • Laura Dabbish
  • James Herbsleb

A large scale study of programming languages and code quality in github

  • Baishakhi Ray
  • Daryl Posnett
  • Vladimir Filkov
  • Premkumar Devanbu

Mining preconditions of APIs in large-scale code corpus

  • Hoan Anh Nguyen
  • Robert Dyer
  • Tien N. Nguyen
  • Hridesh Rajan

Automatic mining of specifications from invocation traces and method invariants

  • Ivo Krka
  • Yuriy Brun
  • Nenad Medvidovic

SESSION: Formal Methods and Verification

Counterexample guided abstraction refinement of product-line behavioural models

  • Maxime Cordy
  • Patrick Heymans
  • Axel Legay
  • Pierre-Yves Schobbens
  • Bruno Dawagne
  • Martin Leucker

Powering the static driver verifier using corral

  • Akash Lal
  • Shaz Qadeer

Verifying CTL-live properties of infinite state models using an SMT solver

  • Amirhossein Vakili
  • Nancy A. Day

Efficient runtime-enforcement techniques for policy weaving

  • Richard Joiner
  • Thomas Reps
  • Somesh Jha
  • Mohan Dhawan
  • Vinod Ganapathy

SESSION: Regression Testing

Techniques for improving regression testing in continuous integration development environments

  • Sebastian Elbaum
  • Gregg Rothermel
  • John Penix

Balancing trade-offs in test-suite reduction

  • August Shi
  • Alex Gyori
  • Milos Gligoric
  • Andrey Zaytsev
  • Darko Marinov

Identifying the characteristics of vulnerable code changes: an empirical study

  • Amiangshu Bosu
  • Jeffrey C. Carver
  • Munawar Hafiz
  • Patrick Hilley
  • Derek Janni

SESSION: Improving Recommender Systems

On the localness of software

  • Zhaopeng Tu
  • Zhendong Su
  • Premkumar Devanbu

Learning natural coding conventions

  • Miltiadis Allamanis
  • Earl T. Barr
  • Christian Bird
  • Charles Sutton

How should we measure functional sameness from program source code? an exploratory study on Java methods

  • Yoshiki Higo
  • Shinji Kusumoto

The plastic surgery hypothesis

  • Earl T. Barr
  • Yuriy Brun
  • Premkumar Devanbu
  • Mark Harman
  • Federica Sarro

SESSION: Concurrency and Parallelism

Grail: context-aware fixing of concurrency bugs

  • Peng Liu
  • Omer Tripp
  • Charles Zhang

AI: a lightweight system for tolerating concurrency bugs

  • Mingxing Zhang
  • Yongwei Wu
  • Shan Lu
  • Shanxiang Qi
  • Jinglei Ren
  • Weimin Zheng

Retrofitting concurrency for Android applications through refactoring

  • Yu Lin
  • Cosmin Radoi
  • Danny Dig

Sherlock: scalable deadlock detection for concurrent programs

  • Mahdi Eslamimehr
  • Jens Palsberg

SESSION: Self Adaptation and Repair / Program Analysis Applications

Search-based synthesis of equivalent method sequences

  • Alberto Goffi
  • Alessandra Gorla
  • Andrea Mattavelli
  • Mauro Pezzè
  • Paolo Tonella

Beyond the rainbow: self-adaptive failure avoidance in configurable systems

  • Jacob Swanson
  • Myra B. Cohen
  • Matthew B. Dwyer
  • Brady J. Garvin
  • Justin Firestone

Semantics-based obfuscation-resilient binary code similarity comparison with applications to software plagiarism detection

  • Lannan Luo
  • Jiang Ming
  • Dinghao Wu
  • Peng Liu
  • Sencun Zhu

Focus-shifting patterns of OSS developers and their congruence with call graphs

  • Qi Xuan
  • Aaron Okano
  • Premkumar Devanbu
  • Vladimir Filkov

SESSION: Symbolic Execution

How we get there: a context-guided search strategy in concolic testing

  • Hyunmin Seo
  • Sunghun Kim

Solving complex path conditions through heuristic search on induced polytopes

  • Peter Dinges
  • Gul Agha

Statistical symbolic execution with informed sampling

  • Antonio Filieri
  • Corina S. Păsăreanu
  • Willem Visser
  • Jaco Geldenhuys

SymJS: automatic symbolic testing of JavaScript web applications

  • Guodong Li
  • Esben Andreasen
  • Indradeep Ghosh

SESSION: Software Documentation

Selection and presentation practices for code example summarization

  • Annie T. T. Ying
  • Martin P. Robillard

Mining idioms from source code

  • Miltiadis Allamanis
  • Charles Sutton

Automatic generation of release notes

  • Laura Moreno
  • Gabriele Bavota
  • Massimiliano Di Penta
  • Rocco Oliveto
  • Andrian Marcus
  • Gerardo Canfora

SESSION: Web Apps

Discovering refactoring opportunities in cascading style sheets

  • Davood Mazinanian
  • Nikolaos Tsantalis
  • Ali Mesbah

SAFEWAPI: web API misuse detector for web applications

  • SungGyeong Bae
  • Hyunghun Cho
  • Inho Lim
  • Sukyoung Ryu

Building call graphs for embedded client-side code in dynamic web applications

  • Hung Viet Nguyen
  • Christian Kästner
  • Tien N. Nguyen

SESSION: Architecture and Design

Sketches and diagrams in practice

  • Sebastian Baltes
  • Stephan Diehl

Architecture challenges for internal software ecosystems: a large-scale industry case study

  • Klaus-Benedikt Schultis
  • Christoph Elsner
  • Daniel Lohmann

Variable-specific resolutions for feature interactions

  • Cecylia Bocovich
  • Joanne M. Atlee

An empirical study on program comprehension with reactive programming

  • Guido Salvaneschi
  • Sven Amann
  • Sebastian Proksch
  • Mira Mezini

SESSION: Mobile Apps

Apposcopy: semantics-based detection of Android malware through static analysis

  • Yu Feng
  • Saswat Anand
  • Isil Dillig
  • Alex Aiken

Detecting energy bugs and hotspots in mobile apps

  • Abhijeet Banerjee
  • Lee Kee Chong
  • Sudipta Chattopadhyay
  • Abhik Roychoudhury

EvoDroid: segmented evolutionary testing of Android apps

  • Riyadh Mahmood
  • Nariman Mirzaei
  • Sam Malek

Prioritizing the devices to test your app on: a case study of Android game apps

  • Hammad Khalid
  • Meiyappan Nagappan
  • Emad Shihab
  • Ahmed E. Hassan

SESSION: Testing and Oracles

Improving oracle quality by detecting brittle assertions and unused inputs in tests

  • Chen Huo
  • James Clause

On the efficiency of automated testing

  • Marcel Böhme
  • Soumya Paul

An empirical analysis of flaky tests

  • Qingzhou Luo
  • Farah Hariri
  • Lamyaa Eloussi
  • Darko Marinov

Are mutants a valid substitute for real faults in software testing?

  • René Just
  • Darioush Jalali
  • Laura Inozemtseva
  • Michael D. Ernst
  • Reid Holmes
  • Gordon Fraser

SESSION: Evolution and Maintenance

No issue left behind: reducing information overload in issue tracking

  • Olga Baysal
  • Reid Holmes
  • Michael W. Godfrey

Panning requirement nuggets in stream of software maintenance tickets

  • Senthil Mani
  • Karthik Sankaranarayanan
  • Vibha Singhal Sinha
  • Premkumar Devanbu

Learning to rank relevant files for bug reports using domain knowledge

  • Xin Ye
  • Razvan Bunescu
  • Chang Liu

Querying sequential software engineering data

  • Chengnian Sun
  • Haidong Zhang
  • Jian-Guang Lou
  • Hongyu Zhang
  • Qiang Wang
  • Dongmei Zhang
  • Siau-Cheng Khoo

SESSION: Tool Demonstrations

Tsmart-GalsBlock: a toolkit for modeling, validation, and synthesis of multi-clocked embedded systems

  • Yu Jiang
  • Hehua Zhang
  • Huafeng Zhang
  • Xinyan Zhao
  • Han Liu
  • Chengnian Sun
  • Xiaoyu Song
  • Ming Gu
  • Jiaguang Sun

A tool suite for the model-driven software engineering of cyber-physical systems

  • Stefan Dziwok
  • Christopher Gerking
  • Steffen Becker
  • Sebastian Thiele
  • Christian Heinzemann
  • Uwe Pohlmann

XMLMate: evolutionary XML test generation

  • Nikolas Havrikov
  • Matthias Höschele
  • Juan Pablo Galeotti
  • Andreas Zeller

CHOReOSynt: enforcing choreography realizability in the future internet

  • Marco Autili
  • Davide Di Ruscio
  • Amleto Di Salle
  • Alexander Perucci

RaPiD: a toolkit for reliability analysis of non-deterministic systems

  • Lin Gui
  • Jun Sun
  • Yang Liu
  • Truong Khanh Nguyen
  • Jin Song Dong

Aalta: an LTL satisfiability checker over Infinite/Finite traces

  • Jianwen Li
  • Yinbo Yao
  • Geguang Pu
  • Lijun Zhang
  • Jifeng He

Omen+: a precise dynamic deadlock detector for multithreaded Java libraries

  • Malavika Samak
  • Murali Krishna Ramanathan

Archie: a tool for detecting, monitoring, and preserving architecturally significant code

  • Mehdi Mirakhorli
  • Ahmed Fakhry
  • Artem Grechko
  • Matteusz Wieloch
  • Jane Cleland-Huang

Linking sketches and diagrams to source code artifacts

  • Sebastian Baltes
  • Peter Schmitz
  • Stephan Diehl

BumbleBee: a refactoring environment for spreadsheet formulas

  • Felienne Hermans
  • Danny Dig

RefDistiller: a refactoring aware code review tool for inspecting manual refactoring edits

  • Everton L. G. Alves
  • Myoungkyu Song
  • Miryung Kim

Critics: an interactive code review tool for searching and inspecting systematic changes

  • Tianyi Zhang
  • Myoungkyu Song
  • Miryung Kim

ConceptCloud: a tagcloud browser for software archives

  • Gillian J. Greene
  • Bernd Fischer

Titan: a toolset that connects software architecture with quality analysis

  • Lu Xiao
  • Yuanfang Cai
  • Rick Kazman

BugLocalizer: integrated tool support for bug localization

  • Ferdian Thung
  • Tien-Duy B. Le
  • Pavneet Singh Kochhar
  • David Lo

SESSION: Technical Presentations 1

Diagnose crashing faults on production software

  • Rongxin Wu

SESSION: Technical Presentations 2

Integrating approaches for feature implementation

  • Benjamin Behringer

Numerical program analysis and testing

  • Zheng Gao

Traceability and model checking to support safety requirement verification

  • Shuanglong Kan

Dealing with uncertainty in verification of nondeterministic systems

  • Yamilet R. Serrano Llerena

SESSION: Technical Presentations 3

Static analysis driven performance and energy testing

  • Abhijeet Banerjee

Autonomous compliance monitoring of non-functional properties

  • Marc Brünink

Detecting, isolating, and enforcing dependencies among and within test cases

  • Jonathan Bell

Improving the software testing skills of novices during onboarding through social transparency

  • Raphael Pham

SESSION: Technical Presentations 4

Minimizing software conflicts through proactive detection of conflicts and task scheduling

  • Bakhtiar Khan Kasi

SESSION: Student Research Competition Posters

Detecting and preventing the architectural roots of bugs

  • Lu Xiao

Estimating the effectiveness of spectrum-based fault localization

  • Shuo Song

Managing lots of models: the FaMine approach

  • David Wille

Social network analysis in open source software peer review

  • Xin Yang

Towards a theory of architectural styles

  • Diego Marmsoler

Software programmer management: a machine learning and human computer interaction framework for optimal task assignment

  • Harry Raymond Joseph

SESSION: Visions and Challenges

Methodology and culture: drivers of mediocrity in software engineering?

  • Marian Petre
  • Daniela Damian

Known unknowns: testing in the presence of uncertainty

  • Sebastian Elbaum
  • David S. Rosenblum

Speculative reprogramming

  • Marc Palyart
  • Gail C. Murphy
  • Emerson Murphy-Hill
  • Xavier Blanc

A variability perspective of mutation analysis

  • Xavier Devroey
  • Gilles Perrouin
  • Maxime Cordy
  • Mike Papadakis
  • Axel Legay
  • Pierre-Yves Schobbens

Mining micro-practices from operational data

  • Minghui Zhou
  • Audris Mockus

Achieving lightweight trustworthy traceability

  • Jane Cleland-Huang
  • Mona Rahimi
  • Patrick Mäder

Software maintenance like maintenance in other engineering disciplines

  • Gustavo Villavicencio

Continue reading