Opentocs

RELENG 2016- Proceedings of the 4th International Workshop on Release Engineering

Continue reading

RET '18- Proceedings of the 5th International Workshop on Requirements Engineering and Testing

RET '18- Proceedings of the 5th International Workshop on Requirements Engineering and Testing

Full Citation in the ACM Digital Library

SESSION: Testing efficiency

Cluster-based test scheduling strategies using semantic relationships between test specifications

  • Sahar Tahvili
  • Leo Hatvani
  • Michael Felderer
  • Wasif Afzal
  • Mehrdad Saadatmand
  • Markus Bohlin

One of the challenging issues in improving the test efficiency is that of achieving a balance between testing goals and testing resources. Test execution scheduling is one way of saving time and budget, where a set of test cases are grouped and tested at the same time. To have an optimal test execution schedule, all related information of a test case (e.g. execution time, functionality to be tested, dependency and similarity with other test cases) need to be analyzed. Test scheduling problem becomes more complicated at high-level testing, such as integration testing and especially in manual testing procedure. Test specifications are generally written in natural text by humans and usually contain ambiguity and uncertainty. Therefore, analyzing a test specification demands a strong learning algorithm. In this position paper, we propose a natural language processing-based approach that, given test specifications at the integration level, allows automatic detection of test cases semantic dependencies. The proposed approach utilizes the Doc2Vec algorithm and converts each test case into a vector in n-dimensional space. These vectors are then grouped using the HDBSCAN clustering algorithm into semantic clusters. Finally, a set of cluster-based test scheduling strategies are proposed for execution. The proposed approach has been applied in a sub-system from the railway domain by analyzing an ongoing testing project at Bombardier Transportation AB, Sweden.

Continue reading

RL+SE&PL 2020: Proceedings of the 1st ACM SIGSOFT International Workshop on Representation Learning for Software Engineering and Program Languages

RL+SE&PL 2020: Proceedings of the 1st ACM SIGSOFT International Workshop on Representation Learning for Software Engineering and Program Languages

Full Citation in the ACM Digital Library

SESSION: Papers

A multi-task representation learning approach for source code

  • Deze Wang
  • Wei Dong
  • Shanshan Li

Representation learning has shown impressive results for a multitude of tasks in software engineering. However, most researches still focus on a single problem. As a result, the learned representations cannot be applied to other problems and lack generalizability and interpretability. In this paper, we propose a Multi-task learning approach for representation learning across multiple downstream tasks of software engineering. From the perspective of generalization, we build a shared sequence encoder with a pretrained BERT for the token sequence and a structure encoder with a Tree-LSTM for the abstract syntax tree of code. From the perspective of interpretability, we integrate attention mechanism to focus on different representations and set learnable parameters to adjust the relationship between tasks. We also present the early results of our model. The learning process analysis shows our model has a significant improvement over strong baselines.

Continue reading

RoSE '18- Proceedings of the 1st International Workshop on Robotics Software Engineering

RoSE '18- Proceedings of the 1st International Workshop on Robotics Software Engineering

Full Citation in the ACM Digital Library

Checking consistency of robot software architectures in ROS

  • Thomas Witte
  • Matthias Tichy

Context: The software architecture of complex robot systems is usually divided into components. The software is then the configuration and combination of those components and their connectors. Objective: In the Robot Operating System (ROS), this architectural configuration, the ROS node graph, is partly defined in code and created at run-time. The static information about the architecture in the configuration is limited and checking the consistency at development time is not possible. The full software has to be manually executed to check the consistency and debug configuration errors. Method: We propose an approach and a corresponding tool to analyze ROS nodes and their launch files to check consistency and issue warnings if potential problems are detected. The approach uses both static analysis of the launch files as well as dynamic analysis of individual ROS nodes to reconstruct the node graph without executing the whole launch configuration. The nodes are executed in a sandbox to prevent side effects and enable the integration of the analysis tool, e.g., into automated testing systems. Results: The evaluation on internal and publicly available ROS projects shows that we are able to reconstruct the complete architecture of the system if the nodes implement a common lifecycle. Conclusion: The approach enables ROS developers to avoid creating incompatible architectures and check consistency already at development time. The approach can be extended to also monitor architectural consistency at run time.

Continue reading

RSSE 2014- Proceedings of the 4th International Workshop on Recommendation Systems for Software Engineering

RSSE 2014- Proceedings of the 4th International Workshop on Recommendation Systems for Software Engineering

Full Citation in the ACM Digital Library

SESSION: Long Papers

Using developer conversations to resolve uncertainty in software development: a position paper

  • Ahmed Shah Mashiyat
  • Michalis Famelis
  • Rick Salay
  • Marsha Chechik

Recommending a starting point for a programming task: an initial investigation

  • C. Albert Thompson
  • Gail C. Murphy

Variable provenance in software systems

  • Pavan Kumar Chittimalli
  • Ravindra Naik

Towards standardized evaluation of developer-assistance tools

  • Sebastian Proksch
  • Sven Amann
  • Mira Mezini

Recommending process improvement package using direct and indirect relationships of activities

  • Su-jin Choi
  • Dae-Kyoo Kim
  • Sooyong Park
  • Junha Lee
  • Soojin Park

SESSION: Short Papers

Recommendation system to enhance planning of software development using r

  • Jaideep Jagadeeshwar Rao
  • Rakesh Kelappan
  • Paul Pallath

Towards a visualized code recommendation for APIs enriched with specification mining

  • Mohammad Ghafari
  • Abbas Heydarnoori

Code recommendation based on a degree-of-interest model

  • Naoya Murakami
  • Hidehiko Masuhara
  • Tomoyuki Aotani

Automated support for human resource allocation in software process by cluster analysis

  • Thiago Jorge A. Santos
  • Adailton M. Lima
  • Carla A. Lima Reis
  • Rodrigo Quites Reis

Continue reading

SAM '20: Proceedings of the 12th System Analysis and Modelling Conference

SAM '20: Proceedings of the 12th System Analysis and Modelling Conference

Full Citation in the ACM Digital Library

A Formalism for Specifying Model Merging Conflicts

  • Mohammadreza Sharbaf
  • Bahman Zamani
  • Gerson Sunyé

Verifying the consistency of model merging is an important step towards the support for team collaboration in software modeling and evolution. Since merging conflicts are inevitable, this has triggered intensive research on conflict management in different domains. Despite these efforts, techniques for high-level conflict representation have hardly been investigated yet. In this paper, we propose an approach to specify model merging conflicts. This approach includes the Conflict Pattern Language (CPL), a formalism for specifying conflicts in different modeling languages. CPL is based on the OCL grammar and is tooled by an editor and a parser. CPL facilitates the slow and error-prone task of specifying model merging conflicts and can be used to specify conflicts in any EMF-based model. We evaluated our approach with a case study, including five different conflict cases. The results are promising about how CPL can be used for specifying syntactic and semantic conflicts.

Continue reading

SBST 2014- Proceedings of the 7th International Workshop on Search-Based Software Testing

SBST 2014- Proceedings of the 7th International Workshop on Search-Based Software Testing

Full Citation in the ACM Digital Library

SESSION: Short and Full Papers

Test generation across multiple layers

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

Search-based security testing of web applications

  • Julian Thomé
  • Alessandra Gorla
  • Andreas Zeller

Root cause analysis for HTML presentation failures using search-based techniques

  • Sonal Mahajan
  • Bailan Li
  • William G. J. Halfond

Moving the goalposts: coverage satisfaction is not enough

  • Gregory Gay
  • Matt Staats
  • Michael W. Whalen
  • Mats P. E. Heimdahl

Code hunt: searching for secret code for fun

  • Nikolai Tillmann
  • Judith Bishop
  • Nigel Horspool
  • Daniel Perelman
  • Tao Xie

An overview of search based combinatorial testing

  • Huayao Wu
  • Changhai Nie

SESSION: PhD Papers

Model based test case generation with metaheuristics for networks of timed automata

  • Joachim Hänsel

SESSION: Position Papers

Search based techniques for software fault prediction: current trends and future directions

  • Ruchika Malhotra

A hybrid test optimization framework using memetic algorithm with cuckoo flocking based search approach

  • Jeya Mala Dharmalingam
  • Sabarinathan K.
  • Balamurugan S.

Continue reading

SBST '18- Proceedings of the 11th International Workshop on Search-Based Software Testing

SBST '18- Proceedings of the 11th International Workshop on Search-Based Software Testing

Full Citation in the ACM Digital Library

SESSION: Keynote I

Predictive analytics for software testing: keynote paper

  • Federica Sarro

This keynote discusses the use of Predictive Analytics for Software Engineering, and in particular for Software Defect Prediction and Software Testing, by presenting the latest results achieved in these fields leveraging Artificial Intelligence, Search-based and Machine Learning methods, and by giving some directions for future work.

Continue reading

SE4COG '18- Proceedings of the 1st International Workshop on Software Engineering for Cognitive Services

SE4COG '18- Proceedings of the 1st International Workshop on Software Engineering for Cognitive Services

Full Citation in the ACM Digital Library

SESSION: Autonomic workloads and multicloud engineering

The beginning of a cognitive software engineering era with self-managing applications

  • Giovanni Morana

The recent explosion of data and the resurgence of AI, Machine Learning and Deep Learning, and the emergence of unbounded cloud computing resources are stretching current software engineering practices to meet business application development, deployment and management requirements. As consumers demand communication, collaboration and commerce almost at the speed of light without interruption, businesses are looking for information technologies that keep up the pace in delivering faster time to market and real-time data processing to meet rapid fluctuations in both workload demands and available computing resources. While the performance of server, network and storage resources have dramatically improved by orders of magnitude in the past decade, software engineering practices and IT operations are evolving at a slow pace. This paper explores a new approach that will provide a path to self-managing software systems with fluctuation tolerance to both workload demands and available resource pools. The infusion of a cognitive control overlay enables an advanced management of application workloads in a distributed multi-cloud computing infrastructure. Resulting architecture provides a uniform framework for managing workload non-functional requirements such as availability, performance, security, data compliance and cost independent of the execution venue for functional requirement workflows.

Continue reading

SE4Science '18- Proceedings of the International Workshop on Software Engineering for Science

SE4Science '18- Proceedings of the International Workshop on Software Engineering for Science

Full Citation in the ACM Digital Library

SESSION: Improving the quality of software

Hierarchical metamorphic relations for testing scientific software

  • Xuanyi Lin
  • Michelle Simon
  • Nan Niu

Scientist developers have not yet routinely adopted systematic testing techniques to assure software quality. A key challenge is the oracle problem, a situation in which appropriate mechanisms are unavailable for checking if the code produces the expected output when executed using a set of test cases (TCs). Metamorphic testing alleviates the oracle problem by specifying the relationship that a source TC and its follow-up TC shall meet. Such relationships are called metamorphic relations (MRs) which are necessary properties of the intended program's functionality. Existing approaches handle the MRs in a flat manner. This paper introduces a novel way to facilitate a hierarchy of MRs to be developed incrementally. We illustrate our approach by testing U.S. EPA's Storm Water Management Model (SWMM). The results offer concrete insights into developing effective MRs to systematically test scientific software.

Continue reading