Powered by
2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE),
November 11-15, 2013,
Palo Alto, USA
Doctoral Symposium
Detecting and Fixing Emergent Behaviors in Distributed Software Systems using a Message Content Independent Method
Fatemeh Hendijani Fard
(University of Calgary, Canada)
This research is intended to automatically detect emergent behaviors of scenario based Distributed Software Systems (DSS) in design phase. The direct significance of our work is reducing the cost of verifying DSS for unexpected behavior in execution time. Existing approaches have some drawbacks which we try to cover in our work. The main contributions are modeling the DSS components as a social network and not using behavioral modeling, detecting components with no emergent behavior, and investigating the interactions of instances of one type.
@InProceedings{ASE13p746,
author = {Fatemeh Hendijani Fard},
title = {Detecting and Fixing Emergent Behaviors in Distributed Software Systems using a Message Content Independent Method},
booktitle = {Proc.\ ASE},
publisher = {IEEE},
pages = {746--749},
doi = {},
year = {2013},
}
Synthesizing Fault-Tolerant Programs from Deontic Logic Specifications
Ramiro Demasi
(McMaster University, Canada)
We study the problem of synthesizing fault-tolerant components from specifications, i.e.,
the problem of automatically constructing a fault-tolerant component implementation
from a logical specification of the component, and the system's required level of fault-tolerance.
In our approach, the logical specification of the component is given in dCTL, a branching
time temporal logic with deontic operators, especially designed for fault-tolerant
component specification. The synthesis algorithm takes the component specification,
and a user-defined level of fault-tolerance (masking, nonmasking, failsafe), and
automatically determines whether a component with the required fault-tolerance
is realizable. Moreover, if the answer is positive, then the algorithm produces such a
fault-tolerant implementation. Our technique for synthesis is based on the use of
(bi)simulation algorithms for capturing different fault-tolerance classes, and the
extension of a synthesis algorithm for CTL to cope with dCTL specifications.
@InProceedings{ASE13p750,
author = {Ramiro Demasi},
title = {Synthesizing Fault-Tolerant Programs from Deontic Logic Specifications},
booktitle = {Proc.\ ASE},
publisher = {IEEE},
pages = {750--753},
doi = {},
year = {2013},
}
Supporting Bug Investigation using History Analysis
Francisco Servant
(University of California at Irvine, USA)
In my research, I propose an automated technique to support bug investigation by using a novel analysis of the history of the source code. During the bug-fixing process, developers spend a high amount of manual effort investigating the bug in order to answer a series of questions about it. My research will support developers in answering the following questions about a bug: Who is the most suitable developer to fix the bug?, Where is the bug located?, When was the bug inserted? and Why was the bug inserted?
@InProceedings{ASE13p754,
author = {Francisco Servant},
title = {Supporting Bug Investigation using History Analysis},
booktitle = {Proc.\ ASE},
publisher = {IEEE},
pages = {754--757},
doi = {},
year = {2013},
}
Context-Aware Task Allocation for Distributed Agile Team
Jun Lin
(Nanyang Technological University, Singapore)
The philosophy of Agile software development advocates the spirit of open discussion and coordination among team members to adapt to incremental changes encountered during the process. Based on our observations from 20 agile student development teams over an 8-week study in Beihang University, China, we found that the task allocation strategy as a result of following the Agile process heavily depends on the experience of the users, and cannot be guaranteed to result in efficient utilization of team resources. In this research, we propose a context-aware task allocation decision support system that balances the considerations for quality and timeliness to improve the overall utility derived from an agile software development project.We formulate the agile process as a distributed constraint optimization problem, and propose a technology framework that assesses individual developers’ situations based on data collected from a Scrum-based agile process, and helps individual developers make situation-aware decisions on which tasks from the backlog to select in real-time. Preliminary analysis and simulation results show that it can achieve close to optimally efficient utilization of the developers’ collective capacity. We plan to build the framework into a computer-supported collaborative development platform and refine the method through more realistic projects.
@InProceedings{ASE13p758,
author = {Jun Lin},
title = {Context-Aware Task Allocation for Distributed Agile Team},
booktitle = {Proc.\ ASE},
publisher = {IEEE},
pages = {758--761},
doi = {},
year = {2013},
}
Preventing Erosion of Architectural Tactics through Their Strategic Implementation, Preservation, and Visualization
Mehdi Mirakhorli
(DePaul University, USA)
Nowadays, a successful software production is increasingly dependent on how the final deployed system addresses customers’ and users’ quality concerns such as security, reliability, availability, interoperability, performance and many other types of such requirements. In order to satisfy such quality concerns, software architects are accountable for devising and comparing various alternate solutions, assessing the trade-offs, and finally adopting strategic design decisions which optimize the degree to which each of the quality concerns is satisfied. Although designing and implementing a good architecture is necessary, it is not usually enough. Even a good architecture can deteriorate in subsequent releases and then fail to address those concerns for which it was initially designed. In this work, we present a novel traceability approach for automating the construction of traceabilty links for architectural tactics and utilizing those links to implement a change impact analysis infrastructure to mitigate the problem of architecture degradation. Our approach utilizes machine learning methods to detect tactic-related classes.
The detected tactic-related classes are then mapped to a Tactic Traceability Pattern. We train our trace algorithm using code extracted from fifty performance-centric and safety-critical open source software systems and then evaluate it against a real case study.
@InProceedings{ASE13p762,
author = {Mehdi Mirakhorli},
title = {Preventing Erosion of Architectural Tactics through Their Strategic Implementation, Preservation, and Visualization},
booktitle = {Proc.\ ASE},
publisher = {IEEE},
pages = {762--765},
doi = {},
year = {2013},
}
proc time: 0.64