Ethics in Software Engineering

Author(s):  
Pankaj Kamthan

There are various reasons for discussing the issue of ethics within a software engineering context. By participating in a software development process, software engineers can influence the final product, namely the software itself, in different ways including those that may be contrary to public interest. In other words, they could engage in an unethical behavior, inadvertently or deliberately. This could lead to personal harm, and potentially result in loss of confidence in software and loss of trust in organizations that own them. This can adversely affect the acceptance of software as a useful product, question the credibility of software engineering as a profession, lead to legal implications, and impact the bottom line of the software industry at-large.

2009 ◽  
pp. 2795-2802
Author(s):  
Pankaj Kamthan

As software becomes pervasive in our daily lives, its values from a purely human perspective are brought to light. Ethical conduct is one such human value. There are various reasons for discussing the issue of ethics within a software engineering context. By participating in a software development process, software engineers can influence the final product, namely the software itself, in different ways including those that may be contrary to public interest. In other words, they could engage in an unethical behavior, inadvertently or deliberately. This could lead to personal harm, and potentially result in loss of confidence in software and loss of trust in organizations that own them. This can adversely affect the acceptance of software as a useful product, question the credibility of software engineering as a profession, lead to legal implications, and impact the bottom line of the software industry at-large. This article is organized as follows. We first outline the background necessary for later discussion. This is followed by a proposal for a quality-based framework for addressing ethics, and software quality treatment of a software engineering code of ethics. Next, avenues and directions for future research are outlined, and finally, concluding remarks are given.


2011 ◽  
Vol 403-408 ◽  
pp. 4495-4498
Author(s):  
K. Madhuri ◽  
M. Suman ◽  
M. Nalini Sri ◽  
K. Ravi Kumar ◽  
U. Jyothi Kameswari

Security testing involves two approaches; the question of who should do it has two answers. Standard testing organizations using a traditional approach can perform functional security testing. For example, ensuring that access control mechanisms work as advertised is a classic functional testing exercise. Systematic security testing approaches should be seamlessly incorporated into software engineering curricula and software development process. Traditional software engineering textbooks failed to provide adequate methods and techniques for students and software engineers to bring security engineering approaches to software development process generating secure software as well as correct software. This paper argues that a security testing phase should be added to software development process with systematic approach to generating and conducting destructive security test sets following a complete coverage principle. Software engineers must have formal training on writing secure code. The security testing tasks include penetrating and destructive tests that are different from functional testing tasks currently covered in software engineering textbooks Moreover, component-based development and formal methods could be useful to produce secure code, as well as automatic security checking tools. Some experience of applying security testing principles in our software engineering method teaching is reported.


10.28945/4116 ◽  
2018 ◽  
Vol 17 ◽  
pp. 181-200
Author(s):  
Jeevamol Joy Kochumarangolil ◽  
Renumol V G

Aim/Purpose: This paper presents the findings of an Activity-Oriented Teaching Strategy (AOTS) conducted for a postgraduate level Software Engineering (SE) course with the aim of imparting meaningful software development experience for the students. The research question is framed as whether the activity-oriented teaching strategy helps students to acquire practical knowledge of Software Engineering and thus bridge the gap between academia and software industry. Background: Software Engineering Education (SEE) in India is mainly focused on teaching theoretical concepts rather than emphasizing on practical knowledge in software development process. It has been noticed that many students of CS/IT background are struggling when they start their career in the software industry due to inadequate familiarity with the software development process. In the current context of SE education, there is a knowledge gap between the theory learned in the classroom and the actual requirement demanded by the software industry. Methodology: The methodology opted for in this study was action research since the teachers are trying to solve the practical problems and deficiencies encountered while teaching SE. There are four pedagogies in AOTS for fulfilling the requirements of the desired teaching strategy. They are flipped classroom, project role-play for developing project artifacts, teaching by example, and student seminars. The study was conducted among a set of Postgraduate students of the Software Engineering programme at Cochin University of Science and Technology, India. Contribution: AOTS can fulfil both academic and industrial requirements by actively engaging the students in the learning process and thus helping them develop their professional skills. Findings: AOTS can be molded as a promising teaching strategy for learning Software Engineering. It focuses on the essential skill sets demanded by the software industry such as communication, problem-solving, teamwork, and understanding of the software development processes. Impact on Society: Activity-oriented teaching strategies can fulfil both academic and industrial requirements by actively engaging the students in the SE learning process and thus helping them in developing their professional skills. Future Research: AOTS can be refined by adding/modifying pedagogies and including different features like an online evaluation system, virtual classroom etc.


Author(s):  
Valerio Fernandes del Maschi ◽  
Luciano S. Souza ◽  
Mauro de Mesquita Spínola ◽  
Wilson Vendramel ◽  
Ivanir Costa ◽  
...  

The quality in software projects is related the deliveries that are adjusted to the use, and that they take care of to the objectives. In this way, Brazilian organizations of software development, especially the small and medium ones, need to demonstrate to future customers whom an initial understand of the business problem has enough. This chapter has as objective to demonstrate methodology, strategy, main phases and procedures adopted beyond the gotten ones of a small organization of development of software in the implantation of a Customized Software Engineering Process and of a Tool of Support to the Process in the period of 2004 to 2006 on the basis of rational unified process (RUP) and in the Microsoft solutions framework (MSF).


Author(s):  
Mirna Muñoz

Software has become the core of organizations in different domains because the capacity of their products, systems, and services have an increasing dependence on software. This fact highlights the research challenges to be covered by computer science, especially in the software engineering (SE) area. On the one way, SE is in charge of covering all the aspects related to the software development process from the early stages of software development until its maintenance and therefore is closely related to the software quality. On the other hand, SE is in charge of providing engineers able to provide technological-base solutions to solve industrial problems. This chapter provides a research work path focused on helping software development organizations to change to a continuous software improvement culture impacting both their software development process highlighting the human factor training needs. Results show that the implementation of best practices could be easily implemented if adequate support is provided.


Author(s):  
Claudia Pons ◽  
Gabriel Baum

During the object-oriented software development process, a variety of models of the system is built. All these models are semantically overlapping and together represent the system as a whole. In this chapter, we present a classification of relationships between models along three different dimensions, proposing a formal description of them in terms of mathematical contracts, where the software development process is seen as involving a number of agents (the development team and the software artifacts) carrying out actions with the goal of building a software system that meets the user requirements. In this way, contracts can be used to reason about correctness of the development process, and to compare the capabilities of various groupings of agents in order to accomplish a particular contract. The goal of the proposed formalization is to provide formal foundations for tools that perform intelligent analysis on models assisting software engineers through the software life cycle.


2018 ◽  
pp. 448-462
Author(s):  
Sanjay Misra ◽  
M. Omorodion ◽  
Amit Mishra ◽  
Luis Fernandez

The rapid growth in technology and the dynamism in our society today poses a lot of problems for Software Engineering practitioners. The result is a series of software development process methods that can be used to combat or meet up with the problems. What we can do is evolve, grow, and adapt to the changes that come along with development. This is the dynamism inherent in man—to adapt to change and improve ourselves and our existing systems—since the world is a far cry from what it was a few decades ago. On this basis lay the need to develop the model proposed in this chapter to meet the variations that exist as a result of technological development.


Author(s):  
HONGHUA DAI ◽  
WEI DAI ◽  
GANG LI

To have an effective and efficient mechanism to store, manage and utilize software sources is essential to the automation of software engineering. The paper presents an innovative approach in managing software resources using software warehouse where software assets are systematically accumulated, deposited, retrieved, packaged, managed and utilized, driven by data-mining and OLAP technologies. The results lead to streamlined high efficient software development process and enhance the productivity in response to modern challenges of the design and development of software applications.


Author(s):  
GIUSEPPE DELLA PENNA ◽  
SERGIO OREFICE ◽  
BENEDETTO INTRIGILA ◽  
DANIELE MAGAZZENI ◽  
ROBERTO DEL SORDO ◽  
...  

In this paper we present SyBeL (System Behaviour modelling Language), an XML based formalism for software system modelling. In particular, SyBeL focuses on the description of the system behaviour in order to capture its functional requirements and has been designed to fulfill some of the most trendy software engineering issues. The use of the underlying XML language makes the artifacts generated by SyBeL immediately available to further automatic manipulation (e. g., to automatically generate test cases) without the need of intermediate models, as usually done in semi-formal approaches. Moreover, we are experimenting SyBeL on a variety of practical case studies.


Sign in / Sign up

Export Citation Format

Share Document