2,261 research outputs found
On Using Active Learning and Self-Training when Mining Performance Discussions on Stack Overflow
Abundant data is the key to successful machine learning. However, supervised
learning requires annotated data that are often hard to obtain. In a
classification task with limited resources, Active Learning (AL) promises to
guide annotators to examples that bring the most value for a classifier. AL can
be successfully combined with self-training, i.e., extending a training set
with the unlabelled examples for which a classifier is the most certain. We
report our experiences on using AL in a systematic manner to train an SVM
classifier for Stack Overflow posts discussing performance of software
components. We show that the training examples deemed as the most valuable to
the classifier are also the most difficult for humans to annotate. Despite
carefully evolved annotation criteria, we report low inter-rater agreement, but
we also propose mitigation strategies. Finally, based on one annotator's work,
we show that self-training can improve the classification accuracy. We conclude
the paper by discussing implication for future text miners aspiring to use AL
and self-training.Comment: Preprint of paper accepted for the Proc. of the 21st International
Conference on Evaluation and Assessment in Software Engineering, 201
A controlled experiment for the empirical evaluation of safety analysis techniques for safety-critical software
Context: Today's safety critical systems are increasingly reliant on
software. Software becomes responsible for most of the critical functions of
systems. Many different safety analysis techniques have been developed to
identify hazards of systems. FTA and FMEA are most commonly used by safety
analysts. Recently, STPA has been proposed with the goal to better cope with
complex systems including software. Objective: This research aimed at comparing
quantitatively these three safety analysis techniques with regard to their
effectiveness, applicability, understandability, ease of use and efficiency in
identifying software safety requirements at the system level. Method: We
conducted a controlled experiment with 21 master and bachelor students applying
these three techniques to three safety-critical systems: train door control,
anti-lock braking and traffic collision and avoidance. Results: The results
showed that there is no statistically significant difference between these
techniques in terms of applicability, understandability and ease of use, but a
significant difference in terms of effectiveness and efficiency is obtained.
Conclusion: We conclude that STPA seems to be an effective method to identify
software safety requirements at the system level. In particular, STPA addresses
more different software safety requirements than the traditional techniques FTA
and FMEA, but STPA needs more time to carry out by safety analysts with little
or no prior experience.Comment: 10 pages, 1 figure in Proceedings of the 19th International
Conference on Evaluation and Assessment in Software Engineering (EASE '15).
ACM, 201
Analyzing Maintenance Activities of Software Libraries
Industrial applications heavily integrate open-source software libraries
nowadays. Beyond the benefits that libraries bring, they can also impose a real
threat in case a library is affected by a vulnerability but its community is
not active in creating a fixing release. Therefore, I want to introduce an
automatic monitoring approach for industrial applications to identify
open-source dependencies that show negative signs regarding their current or
future maintenance activities. Since most research in this field is limited due
to lack of features, labels, and transitive links, and thus is not applicable
in industry, my approach aims to close this gap by capturing the impact of
direct and transitive dependencies in terms of their maintenance activities.
Automatically monitoring the maintenance activities of dependencies reduces the
manual effort of application maintainers and supports application security by
continuously having well-maintained dependencies.Comment: International Conference on Evaluation and Assessment in Software
Engineering (EASE '23
A literature review of expert problem solving using analogy
We consider software project cost estimation from a problem solving perspective. Taking a cognitive psychological approach, we argue that the algorithmic basis for CBR tools is not representative of human problem solving and this mismatch could account for inconsistent results. We describe the fundamentals of problem solving, focusing on experts solving ill-defined problems. This is supplemented by a systematic literature review of empirical studies of expert problem solving of non-trivial problems. We identified twelve studies. These studies suggest that analogical reasoning plays an important role in problem solving, but that CBR tools do not model this in a biologically plausible way. For example, the ability to induce structure and therefore find deeper analogies is widely seen as the hallmark of an expert. However, CBR tools fail to provide support for this type of reasoning for prediction. We conclude this mismatch between experts’ cognitive processes and software tools contributes to the erratic performance of analogy-based prediction
Harmfulness of Code Duplication - A Structured Review of the Evidence
Duplication of code has long been thought to decrease changeability of systems, but recently doubts have been expressed whether this is true in general. This is a problem for researchers because it makes the value of research aimed against clones uncertain, and for practitioners as they cannot be sure whether their effort in reducing duplication is well-spent. In this paper we try to shed light on this is-sue by collecting empirical evidence in favor and against the nega-tive effects of duplication on changeability. We go beyond the flat yes/no-question of harmfulness and present an explanatory model to show the mechanisms through which duplication is suspected to affect quality. We aggregate the evidence for each of the causal links in the model. This sheds light on the current state of duplication re-search and helps practitioners choose between the available mitiga-tion strategies
Caveats in Eliciting Mobile App Requirements
Factors such as app stores or platform choices heavily affect functional and
non-functional mobile app requirements. We surveyed 45 companies and
interviewed ten experts to explore how factors that impact mobile app
requirements are understood by requirements engineers in the mobile app
industry.
We observed a lack of knowledge in several areas. For instance, we observed
that all practitioners were aware of data privacy concerns, however, they did
not know that certain third-party libraries, usage aggregators, or advertising
libraries also occasionally leak sensitive user data. Similarly, certain
functional requirements may not be implementable in the absence of a
third-party library that is either banned from an app store for policy
violations or lacks features, for instance, missing desired features in ARKit
library for iOS made practitioners turn to Android.
We conclude that requirements engineers should have adequate technical
experience with mobile app development as well as sufficient knowledge in areas
such as privacy, security and law, in order to make informed decisions during
requirements elicitation.Comment: The 24th International Conference on Evaluation and Assessment in
Software Engineering (EASE 2020
- …