Powered by
2015 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2015),
August 30 – September 4, 2015,
Bergamo, Italy
Tool Demonstrations
Thu, Sep 3, 10:20 - 11:30, Oggioni
JSketch: Sketching for Java
Jinseong Jeon,
Xiaokang Qiu,
Jeffrey S. Foster, and Armando Solar-Lezama
(University of Maryland, USA; Massachusetts Institute of Technology, USA)
Sketch-based synthesis, epitomized by the Sketch tool, lets developers synthesize software starting from a partial program, also called a sketch or template. This paper presents JSketch, a tool that brings sketch-based synthesis to Java. JSketch's input is a partial Java program that may include holes, which are unknown constants, expression generators, which range over sets of expressions, and class generators, which are partial classes. JSketch then translates the synthesis problem into a Sketch problem; this translation is complex because Sketch is not object-oriented. Finally, JSketch synthesizes an executable Java program by interpreting the output of Sketch.
@InProceedings{ESEC/FSE15p934,
author = {Jinseong Jeon and Xiaokang Qiu and Jeffrey S. Foster and Armando Solar-Lezama},
title = {JSketch: Sketching for Java},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {934--937},
doi = {},
year = {2015},
}
Info
Don't Panic: Reverse Debugging of Kernel Drivers
Pavel Dovgalyuk, Denis Dmitriev, and Vladimir Makarov
(Russian Academy of Sciences, Russia)
Debugging of device drivers' failures is a very tough task because of kernel panics, blue screens of death, hardware volatility, long periods of time required to expose the bug, perturbation of the drivers by the debugger, and non-determinism of multi-threaded environment. This paper shows how reverse debugging reduces the influence of these factors to the process of drivers debugging. We present reverse debugger as a practical tool, which was tested for i386, x86-64, and ARM platforms, for Windows and Linux guest operating systems. We show that our tool incurs very low overhead (about 10%), which allows using it for debugging of the time sensitive applications. The paper also presents the case study which demonstrates reverse debugging of the USB kernel drivers for Linux.
@InProceedings{ESEC/FSE15p938,
author = {Pavel Dovgalyuk and Denis Dmitriev and Vladimir Makarov},
title = {Don't Panic: Reverse Debugging of Kernel Drivers},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {938--941},
doi = {},
year = {2015},
}
Info
UMTG: A Toolset to Automatically Generate System Test Cases from Use Case Specifications
Chunhui Wang, Fabrizio Pastore
,
Arda Goknil,
Lionel C. Briand , and Zohaib Iqbal
(University of Luxembourg, Luxembourg; National University of Computer and Emerging Sciences, Pakistan)
We present UMTG, a toolset for automatically generating executable and traceable system test cases from use case specifications. UMTG employs Natural Language Processing (NLP), a restricted form of use case specifications, and constraint solving. Use cases are expected to follow a template with restriction rules that reduce imprecision and enable NLP. NLP is used to capture the control flow implicitly described in use case specifications. Finally, to generate test input, constraint solving is applied to OCL constraints referring to the domain model of the system. UMTG is integrated with two tools that are widely adopted in industry, IBM Doors and Rhapsody. UMTG has been successfully evaluated on an industrial case study.
@InProceedings{ESEC/FSE15p942,
author = {Chunhui Wang and Fabrizio Pastore and Arda Goknil and Lionel C. Briand and Zohaib Iqbal},
title = {UMTG: A Toolset to Automatically Generate System Test Cases from Use Case Specifications},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {942--945},
doi = {},
year = {2015},
}
DexterJS: Robust Testing Platform for DOM-Based XSS Vulnerabilities
Inian Parameshwaran, Enrico Budianto,
Shweta Shinde, Hung Dang, Atul Sadhu, and
Prateek Saxena
(National University of Singapore, Singapore)
DOM-based cross-site scripting (XSS) is a client-side vulnerability that pervades JavaScript applications on the web, and has few known practical defenses. In this paper, we introduce DEXTERJS, a testing platform for detecting and validating DOM-based XSS vulnerabilities on web applications. DEXTERJS leverages source-to source rewriting to carry out character-precise taint tracking when executing in the browser context—thus being able to identify vulnerable information flows in a web page. By scanning a web page, DEXTERJS produces working exploits that validate DOM-based XSS vulnerability on the page. DEXTERJS is robust, has been tested on Alexa’s top 1000 sites, and has found a total of 820 distinct zero-day DOM-XSS confirmed exploits automatically.
@InProceedings{ESEC/FSE15p946,
author = {Inian Parameshwaran and Enrico Budianto and Shweta Shinde and Hung Dang and Atul Sadhu and Prateek Saxena},
title = {DexterJS: Robust Testing Platform for DOM-Based XSS Vulnerabilities},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {946--949},
doi = {},
year = {2015},
}
Video
Info
T3i: A Tool for Generating and Querying Test Suites for Java
I. S. Wishnu B. Prasetya
(Utrecht University, Netherlands)
T3i is an automated unit-testing tool to test Java classes. To expose interactions T3i generates test-cases in the form of sequences of calls to the methods of the target class. What separates it from other testing tools is that it treats test suites as first class objects and allows users to e.g. combine, query, and filter them. With these operations, the user can construct a test suite with specific properties. Queries can be used to check correctness properties. Hoare triples, LTL formulas, and algebraic equations can be queried. T3i can be used interactively, thus facilitating more exploratory testing, as well as through a script. The familiar Java syntax can be used to control it, or alternatively one can use the much lighter Groovy syntax.
@InProceedings{ESEC/FSE15p950,
author = {I. S. Wishnu B. Prasetya},
title = {T3i: A Tool for Generating and Querying Test Suites for Java},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {950--953},
doi = {},
year = {2015},
}
Video
Info
iTrace: Enabling Eye Tracking on Software Artifacts within the IDE to Support Software Engineering Tasks
Timothy R. Shaffer, Jenna L. Wise, Braden M. Walters,
Sebastian C. Müller, Michael Falcone, and Bonita Sharif
(Youngstown State University, USA; University of Zurich, Switzerland)
The paper presents iTrace, an Eclipse plugin that implicitly records developers' eye movements while they work on change tasks. iTrace is the first eye tracking environment that makes it possible for researchers to conduct eye tracking studies on large software systems. An overview of the design and architecture is presented along with features and usage scenarios. iTrace is designed to support a variety of eye trackers. The design is flexible enough to record eye movements on various types of software artifacts (Java code, text/html/xml documents, diagrams), as well as IDE user interface elements. The plugin has been successfully used for software traceability tasks and program comprehension tasks. iTrace is also applicable to other tasks such as code summarization and code recommendations based on developer eye movements. A short video demonstration is available at https://youtu.be/3OUnLCX4dXo.
@InProceedings{ESEC/FSE15p954,
author = {Timothy R. Shaffer and Jenna L. Wise and Braden M. Walters and Sebastian C. Müller and Michael Falcone and Bonita Sharif},
title = {iTrace: Enabling Eye Tracking on Software Artifacts within the IDE to Support Software Engineering Tasks},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {954--957},
doi = {},
year = {2015},
}
Video
Info
Nyx: A Display Energy Optimizer for Mobile Web Apps
Ding Li, Angelica Huyen Tran, and
William G. J. Halfond
(University of Southern California, USA)
Energy is a critical resource for current mobile devices. In
a smartphone, display is one of the most energy consuming
components. Modern smartphones often use OLED screens,
which consume much more energy when displaying light
colors than displaying dark colors. In our previous study,
we proposed a technique to reduce display energy of mo-
bile web apps by changing the color scheme automatically.
With this approach, we achieved a 40% reduction in display
power consumption and 97% user acceptance of the new
color scheme. In this tool paper, we describe Nyx, which
implements our approach. Nyx is implemented as a self-
contained executable file with which users can optimize en-
ergy consumption of their web apps with a simple command.
@InProceedings{ESEC/FSE15p958,
author = {Ding Li and Angelica Huyen Tran and William G. J. Halfond},
title = {Nyx: A Display Energy Optimizer for Mobile Web Apps},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {958--961},
doi = {},
year = {2015},
}
NARCIA: An Automated Tool for Change Impact Analysis in Natural Language Requirements
Chetan Arora,
Mehrdad Sabetzadeh, Arda Goknil,
Lionel C. Briand , and Frank Zimmer
(University of Luxembourg, Luxembourg; SES TechCom, Luxembourg)
We present NARCIA, a tool for analyzing the impact of change in natural language requirements. For a given change in a requirements document, NARCIA calculates quantitative scores suggesting how likely each requirements statement in the document is to be impacted. These scores, computed using Natural Language Processing (NLP), are used for sorting the requirements statements, enabling the user to focus on statements that are most likely to be impacted. To increase the accuracy of change impact analysis, NARCIA provides a mechanism for making explicit the rationale behind changes. NARCIA has been empirically evaluated on two industrial case studies. The results of this evaluation are briefly highlighted.
@InProceedings{ESEC/FSE15p962,
author = {Chetan Arora and Mehrdad Sabetzadeh and Arda Goknil and Lionel C. Briand and Frank Zimmer},
title = {NARCIA: An Automated Tool for Change Impact Analysis in Natural Language Requirements},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {962--965},
doi = {},
year = {2015},
}
Info
Commit Guru: Analytics and Risk Prediction of Software Commits
Christoffer Rosen, Ben Grawi, and
Emad Shihab
(Rochester Institute of Technology, USA; Concordia University, Canada)
Software quality is one of the most important research sub-areas of software engineering. Hence, a plethora of research has focused on the prediction of software quality. Much of the software analytics and prediction work has proposed metrics, models and novel approaches that can predict quality with high levels of accuracy. However, adoption of such techniques remain low; one of the reasons for this low adoption of the current analytics and prediction technique is the lack of actionable and publicly available tools. We present Commit Guru, a language agnostic analytics and prediction tool that identifies and predicts risky software commits. Commit Guru is publicly available and is able to mine any GIT SCM repository. Analytics are generated at both, the project and commit levels. In addition, Commit Guru automatically identifies risky (i.e., bug-inducing) commits and builds a prediction model that assess the likelihood of a recent commit introducing a bug in the future. Finally, to facilitate future research in the area, users of Commit Guru can download the data for any project that is processed by Commit Guru with a single click. Several large open source projects have been successfully processed using Commit Guru. Commit Guru is available online at commit.guru. Our source code is also released freely under the MIT license.
@InProceedings{ESEC/FSE15p966,
author = {Christoffer Rosen and Ben Grawi and Emad Shihab},
title = {Commit Guru: Analytics and Risk Prediction of Software Commits},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {966--969},
doi = {},
year = {2015},
}
Info
OSSMETER: A Software Measurement Platform for Automatically Analysing Open Source Software Projects
Davide Di Ruscio,
Dimitris S. Kolovos , Ioannis Korkontzelos, Nicholas Matragkas, and Jurgen J. Vinju
(University of L'Aquila, Italy; University of York, UK; University of Manchester, UK; CWI, Netherlands)
Deciding whether an open source software (OSS) project meets the required standards for adoption in terms of quality, maturity, activity of development and user support is not a straightforward process as it involves exploring various sources of information. Such sources include OSS source code repositories, communication channels such as newsgroups, forums, and mailing lists, as well as issue tracking systems. OSSMETER is an extensible and scalable platform that can monitor and incrementally analyse a large number of OSS projects. The results of this analysis can be used to assess various aspects of OSS projects, and to directly compare different OSS projects with each other.
@InProceedings{ESEC/FSE15p970,
author = {Davide Di Ruscio and Dimitris S. Kolovos and Ioannis Korkontzelos and Nicholas Matragkas and Jurgen J. Vinju},
title = {OSSMETER: A Software Measurement Platform for Automatically Analysing Open Source Software Projects},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {970--973},
doi = {},
year = {2015},
}
Comprehensive Service Matching with MatchBox
Paul Börding, Melanie Bruns, and
Marie Christin Platenius
(University of Paderborn, Germany)
Nowadays, many service providers offer software components in the form of Software as a Service. Requesters that want to discover those services in order to use or to integrate them, need to find out which service satisfies their requirements best. For this purpose, service matching approaches determine how well the specifications of provided services satisfy their requirements (including structural, behavioral, and non-functional requirements). In this paper, we describe the tool-suite MatchBox that allows the integration of existing service matchers and their combination as part of flexibly configurable matching processes. Taking requirements and service specifications as an input, MatchBox is able to execute such matching processes and deliver rich matching results. In contrast to related tools, MatchBox allows users to take into account many different kinds of requirements, while it also provides the flexibility to control the matching process in many different ways.
@InProceedings{ESEC/FSE15p974,
author = {Paul Börding and Melanie Bruns and Marie Christin Platenius},
title = {Comprehensive Service Matching with MatchBox},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {974--977},
doi = {},
year = {2015},
}
Video
Info
UEDashboard: Awareness of Unusual Events in Commit Histories
Larissa Leite,
Christoph Treude, and Fernando Figueira Filho
(Federal University of Rio Grande do Norte, Brazil)
To be able to respond to source code modifications with large impact or commits that necessitate further examination, developers and managers in a software development team need to be aware of anything unusual happening in their software projects. To address this need, we introduce UEDashboard, a tool which automatically detects unusual events in a commit history based on metrics and smells, and surfaces them in an event feed. Our preliminary evaluation with a team of professional software developers showed that our conceptualization of unusual correlates with developers' perceptions of task difficulty, and that UEDashboard could be useful in supporting development meetings and for pre-commit warnings.
@InProceedings{ESEC/FSE15p978,
author = {Larissa Leite and Christoph Treude and Fernando Figueira Filho},
title = {UEDashboard: Awareness of Unusual Events in Commit Histories},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {978--981},
doi = {},
year = {2015},
}
Info
MatrixMiner: A Red Pill to Architect Informal Product Descriptions in the Matrix
Sana Ben Nasr, Guillaume Bécan, Mathieu Acher, João Bosco Ferreira Filho,
Benoit Baudry, Nicolas Sannier, and Jean-Marc Davril
(University of Rennes 1, France; INRIA, France; IRISA, France; University of Luxembourg, Luxembourg; University of Namur, Belgium)
Domain analysts, product managers, or customers aim to capture the important features and differences among a set of related products. A case-by-case reviewing of each product description is a laborious and time-consuming task that fails to deliver a condensed view of a product line. This paper introduces MatrixMiner: a tool for automatically synthesizing product comparison matrices (PCMs) from a set of product descriptions written in natural language. MatrixMiner is capable of identifying and organizing features and values in a PCM – despite the informality and absence of structure in the textual descriptions of products. Our empirical results of products mined from BestBuy show that the synthesized PCMs exhibit numerous quantitative, comparable information. Users can exploit MatrixMiner to visualize the matrix through a Web editor and review, refine, or complement the cell values thanks to the traceability with the original product descriptions and technical specifications.
@InProceedings{ESEC/FSE15p982,
author = {Sana Ben Nasr and Guillaume Bécan and Mathieu Acher and João Bosco Ferreira Filho and Benoit Baudry and Nicolas Sannier and Jean-Marc Davril},
title = {MatrixMiner: A Red Pill to Architect Informal Product Descriptions in the Matrix},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {982--985},
doi = {},
year = {2015},
}
Video
Info
proc time: 1.05