Powered by
2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER),
March 2-6, 2015,
Montréal, Canada
Doctoral Symposium
Tue, Mar 3, 16:00 - 17:30
SKilLed Communication for Toolchains
Timm Felden
(University of Stuttgart, Germany)
The creation of a program analysis toolchain involves design choices regarding intermediate representations (IRs). Good choices for an IR depend on the analyses performed by a toolchain. In academia, new analyses are developed frequently. Therefore, the best single IR of a research-oriented toolchain does not exist. Thus, we will describe our design of an intermediate representation that can be easily adapted to new requirements.
@InProceedings{SANER15p596,
author = {Timm Felden},
title = {SKilLed Communication for Toolchains},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {596--596},
doi = {},
year = {2015},
}
The Impact of Column-Orientation on the Quality of Class Inheritance Mapping Specifications
Martin Lorenz
(HPI, Germany)
oriented modeling. Persisting objects from an inheritance hi- erarchy into a relational database is not straight forward, because the concept of inheritance is not supported by relational data stores. An accepted solution are object-relational mapping strategies. The problem is that each strategy varies in terms of its non-functional characteristics e.g., usability, maintainability, efficiency. Software developers base the decision, what mapping strategy to chose, on experience and best practices. Most of these best practices can be found in programming guides for object- relational mapping frameworks or books and publications of experienced software architects. However, these best practices are based on experiences with row-oriented database systems. With the advent of new database technologies, such as column-stores, these best practices become obsolete. In my Ph.D. thesis I am investigating the influence of a database’s data layout (row- vs. column) on the non-functional characteristics of object-relational mapping strategies.
@InProceedings{SANER15p597,
author = {Martin Lorenz},
title = {The Impact of Column-Orientation on the Quality of Class Inheritance Mapping Specifications},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {597--597},
doi = {},
year = {2015},
}
Improving the Integration Process of Large Software Systems
Yujuan Jiang
(Polytechnique Montréal, Canada)
Software integration is the software engineering activity where code changes of different developers are combined into a consistent whole. While the advent of distributed version control systems has allowed distributed development to scale up substantially, at the same time the risk of integration conflicts (changes that do not go well together) and the time required to fix them has increased as well. In order to help practitioners deal with this paradox, this thesis aims to understand and improve the integration process of modern software organizations. We took the Linux kernel as our pilot case study, which is supported by a distributed version control system (Git) and low-tech reviewing system (mailing list). So far, we have (1) analyzed how to reconstruct the data of the integration process in a low- tech environment where reviews are stored in emails without explicit link to version control commits, and (2) studied the characteristics of the Linux integration process. We found that the commits developed by more mature developers and impacting less subsystems are more likely to be accepted. As a next step, we plan to build a model quantifying the integration effort.
@InProceedings{SANER15p598,
author = {Yujuan Jiang},
title = {Improving the Integration Process of Large Software Systems},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {598--598},
doi = {},
year = {2015},
}
Handling the Differential Evolution of Software Artefacts: A Framework for Consistency Management
Ildiko Pete and Dharini Balasubramaniam
(University of St. Andrews, UK)
Modern software systems are subject to frequent changes. Different artefacts of a system, such as requirements specifications, design documents and source code, often evolve at different times and become inconsistent with one another. This differential evolution poses problems to effective software maintenance and erodes trust in artefacts as accurate representation of the system. In this paper, we propose a holistic framework for managing the consistent co-evolution of software artefacts, incorporating: traceability creation and maintenance, change detection, impact analysis, consistency checking and change propagation.
@InProceedings{SANER15p599,
author = {Ildiko Pete and Dharini Balasubramaniam},
title = {Handling the Differential Evolution of Software Artefacts: A Framework for Consistency Management},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {599--600},
doi = {},
year = {2015},
}
Towards a Framework for Analysis, Transformation, and Manipulation of Makefiles
Doug Martin
(Queen's University, Canada)
Build systems are an integral part of the software development process, being responsible for turning source code into a deliverable product. They are, however, difficult to comprehend and maintain at times. Make, the most popular build language, is often cited as being difficult to debug. In this work, we propose a framework to analyze and manipulate Makefiles, and discover how the language is used in open source systems using existing software analysis techniques like source transformation and clone detection.
@InProceedings{SANER15p601,
author = {Doug Martin},
title = {Towards a Framework for Analysis, Transformation, and Manipulation of Makefiles},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {601--602},
doi = {},
year = {2015},
}
Towards a Framework for Automatic Correction of Anti-patterns
Rodrigo Morales
(Polytechnique Montréal, Canada)
One of the biggest concerns in software maintenance is design quality; poor design hinders software maintenance and evolution. One way to improve design quality is to detect and correct anti-patterns (i.e., poor solutions to design and implementation problems), for example through refactorings. There are several approaches to detect anti-patterns, that rely on metrics and structural properties. However, finding a specific solution to remove anti-patterns is a challenging task as candidate refactorings can be conflicting and their number very large, making it costly. Hence, development teams often have to prioritize the refactorings to be applied on a system. In addition to this, refactoring is risky, since non-experienced developers can change the behaviour of a system, without a comprehensive test suite. Therefore, there is a need for tools that can automatically remove anti-patterns. We will apply meta-heuristics to propose a technique for automated refactoring that improves design quality.
@InProceedings{SANER15p603,
author = {Rodrigo Morales},
title = {Towards a Framework for Automatic Correction of Anti-patterns},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {603--604},
doi = {},
year = {2015},
}
Towards an Ontology-Based Context-Aware Meta-Model for the Software Domain
Mostafa Erfani
(Concordia University, Canada)
Over the last decade, contextual modeling has gained on importance due to the wide spread introduction of ubiquitous computing. Common to these systems is that they integrate contextual information to improve situated cognition and awareness as well as stakeholders’ usage experience with these systems. While domains such as Web 3.0, which shares many commonalities with the software domain, have made context-awareness as part of their solution space, the software domain still lacks the same rate of adoption. In our research, we introduce an ontology based context-aware meta-model to capture and formalize different context abstraction levels.
@InProceedings{SANER15p605,
author = {Mostafa Erfani},
title = {Towards an Ontology-Based Context-Aware Meta-Model for the Software Domain},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {605--606},
doi = {},
year = {2015},
}
Investigating Modern Release Engineering Practices
Md Tajmilur Rahman
(Concordia University, Canada)
In my PhD research I will focus on modern release engineering practices. First, I have quantified the time and effort that is involved in stabilizing a release. I found that despite using rapid elease, the Chrome and Linux projects still have a period where they rush changes into a release. Second, developers typically isolate unrelated changes on branches. However, developers at major companies, such as Google and Facebook, commit all changes to a single branch. They isolate unrelated changes using feature-flags, which allows them to disable works in progress. My goal is to empirically determine the best practices when using flags and identify dead code. Finally, I will develop tool support to manage feature flags.
@InProceedings{SANER15p607,
author = {Md Tajmilur Rahman},
title = {Investigating Modern Release Engineering Practices},
booktitle = {Proc.\ SANER},
publisher = {IEEE},
pages = {607--608},
doi = {},
year = {2015},
}
proc time: 0.25