1,751,117 research outputs found
Cloud engineering is search based software engineering too
Many of the problems posed by the migration of computation to cloud platforms can be formulated and solved using techniques associated with Search Based Software Engineering (SBSE). Much of cloud software engineering involves problems of optimisation: performance, allocation, assignment and the dynamic balancing of resources to achieve pragmatic trade-offs between many competing technical and business objectives. SBSE is concerned with the application of computational search and optimisation to solve precisely these kinds of software engineering challenges. Interest in both cloud computing and SBSE has grown rapidly in the past five years, yet there has been little work on SBSE as a means of addressing cloud computing challenges. Like many computationally demanding activities, SBSE has the potential to benefit from the cloud; ‘SBSE in the cloud’. However, this paper focuses, instead, of the ways in which SBSE can benefit cloud computing. It thus develops the theme of ‘SBSE for the cloud’, formulating cloud computing challenges in ways that can be addressed using SBSE
International conference on software engineering and knowledge engineering: Session chair
The Thirtieth International Conference on Software Engineering and Knowledge Engineering (SEKE 2018) will be held at the Hotel Pullman, San Francisco Bay, USA, from July 1 to July 3, 2018. SEKE2018 will also be dedicated in memory of Professor Lofti Zadeh, a great scholar, pioneer and leader in fuzzy sets theory and soft computing.
The conference aims at bringing together experts in software engineering and knowledge engineering to discuss on relevant results in either software engineering or knowledge engineering or both. Special emphasis will be put on the transference of methods between both domains. The theme this year is soft computing in software engineering & knowledge engineering. Submission of papers and demos are both welcome
Ethical Issues in Empirical Studies of Software Engineering
The popularity of empirical methods in software engineering research is on the rise. Surveys,
experiments, metrics, case studies, and field studies are examples of empirical methods used to
investigate both software engineering processes and products. The increased application of
empirical methods has also brought about an increase in discussions about adapting these
methods to the peculiarities of software engineering. In contrast, the ethical issues raised by
empirical methods have received little, if any, attention in the software engineering literature. This
article is intended to introduce the ethical issues raised by empirical research to the software
engineering research community, and to stimulate discussion of how best to deal with these ethical
issues. Through a review of the ethical codes of several fields that commonly employ humans and
artifacts as research subjects, we have identified major ethical issues relevant to empirical studies
of software engineering. These issues are illustrated with real empirical studies of software
engineering
Software engineering : redundancy is key
Software engineers are humans and so they make lots of mistakes. Typically 1 out of 10 to 100 tasks go wrong. The only way to avoid these mistakes is to introduce redundancy in the software engineering process. This article is a plea to consciously introduce several levels of redundancy for each programming task. Depending on the required level of correctness, expressed in a residual error probability (typically 10-3 to 10-10), each programming task must be carried out redundantly 4 to 8 times. This number is hardly influenced by the size of a programming endeavour. Training software engineers does have some effect as non trained software engineers require a double amount of redundant tasks to deliver software of a desired quality. More compact programming, for instance by using domain specific languages, only reduces the number of redundant tasks by a small constant
Standards of Validity and the Validity of Standards in Behavioral Software Engineering Research: The Perspective of Psychological Test Theory
Background. There are some publications in software engineering research that
aim at guiding researchers in assessing validity threats to their studies.
Still, many researchers fail to address many aspects of validity that are
essential to quantitative research on human factors. Goal. This paper has the
goal of triggering a change of mindset in what types of studies are the most
valuable to the behavioral software engineering field, and also provide more
details of what construct validity is. Method. The approach is based on
psychological test theory and draws upon methods used in psychology in relation
to construct validity. Results. In this paper, I suggest a different approach
to validity threats than what is commonplace in behavioral software engineering
research. Conclusions. While this paper focuses on behavioral software
engineering, I believe other types of software engineering research might also
benefit from an increased focus on construct validity.Comment: ACM/IEEE International Symposium on Empirical Software Engineering
and Measurement (ESEM), Oulu, Finland, October 11-12, 2018. 4 page
Requirements: The Key to Sustainability
Software's critical role in society demands a paradigm shift in the software engineering mind-set. This shift's focus begins in requirements engineering. This article is part of a special issue on the Future of Software Engineering
In the soft-to-hard technical spectrum: Where is software engineering?
In the computer journals and tabloids, there have been a plethora of articles written about the software engineering field. But while advocates of the need for an engineering approach to software development, it is impressive how many authors have treated the subject of software engineering without adequately addressing the fundamentals of what engineering as a discipline consists of. A discussion is presented of the various related facets of this issue in a logical framework to advance the thesis that the software development process is necessarily an engineering process. The purpose is to examine more of the details of the issue of whether or not the design and development of software for digital computer processing systems should be both viewed and treated as a legitimate field of professional engineering. Also, the type of academic and professional level education programs that would be required to support a software engineering discipline is examined
- …