The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
A successful fielding of computation-based engineering (CBE) software requires quality assurance to be built into the fabric of capability development and deployment processes. Good software quality is an emergent property of the healthy interplay among CBE software development teams, testing teams, user support, and training teams, with the vital notion of continual feedback to improve the user experience...
Software development and management of large scale projects are the complicated task. To support the software developers, the object oriented methodologies are used for reducing development efforts. But still a significant amount of efforts and team work is required to design and develop the systems according to the users need. Among them the testing is a one of the key components of software development...
When supervising software engineering team projects, having all team members contribute actively to the project is often a challenge. Most often than not, there will be teams having some members with limited or no contribution. Thus one of the key roles of a team leader and academic supervisor are to monitor who is contributing and who is falling behind. Assessing the progress information of each...
This installment of Computer's series highlighting the work published in IEEE Computer Society journals comes from IEEE Transactions on Software Engineering.
Exhaustive testing of all possible combinations of input parameter values of a large system is impossible. Here, pairwise testing technique is often chosen owing to its effectiveness for bug detection. For pairwise testing, test cases are designed to cover all possible pair combinations of input parameter values at least once. In this paper, we investigate the adoption of Migrating Birds Optimization...
Regression testing of a large test pool consistently needs a prioritization technique that caters requirements changes. Conventional prioritization techniques cover only the methods to find the ideal ordering of test cases neglecting requirement changes. In this paper, we propose string dissimilarity-based priority assignment to test cases through the combination of classical and non-classical textual...
State models are widely used as specification or design artifacts and form the basis of various analysis techniques. In this paper, we make use of the advances in the area of random test generation to propose a novel approach to infer state models of black-box components from their executions. We also present an implementation and the results of applying our approach on a number of examples.
The paper relooks at one of the classical problems in distributed computing: Given a labelled transition system (LTS), how to synthesize a distributed labelled transition system (DLTS) such that the global behaviour of the DLTS is equivalent to that of the given LTS. This problem has been addressed for various notions of behavioral equivalences, viz., isomorphism, language equivalence, bisimulation,...
Functional scenario-based specification animation is a practical and effective technique for validating formal specifications but faces a scenario explosion problem. In this paper, we tackle this problem by proposing a new approach to selecting only consistent and meaningful functional scenarios in order to reduce the number of scenarios for animation. We define the concept of consistency for functional...
Programs often contain branches to break off from their main execution. These branches contribute to the total cost of testing, because they also need to be tested. The paper presents a new approach to improve the testing of such branches by annotating them. Our tool automatically generates test-sequences. Then, invariants in the form of pre-and post-condition over the executions passing each annotated...
This work explores the impact of teaching and learning if the rate of learner engagement outside the classroom is continuously measured and available to the instructor and students. We describe an ongoing implementation of a monitoring tool built within a software engineering continuous integration and testing (CI & Test) platform that integrates multiple streams of student activity and performance...
Undisciplined cohesion and coupling undermine countless aspects of quality software. Students, however, unfortunately tend to gravitate toward such approaches. This system mitigates this problem by forcing them to communicate with their components through a well-constrained hierarchical virtual network of networks. The application is a dynamic, plug-and-play aircraft fly-by-wire system that processes...
Web applications are an extremely important and ubiquitous part of today's world. Students must not only know how to develop them from a technical perspective, but in doing so need to understand how to follow the proper principles of software engineering — delivering the project on time, on budget, and in a high quality manner. At the Department of Software Engineering at the Rochester Institute of...
In recent years, professionals in different fields have become able to do programming by using simplified software tools, as a consequence of this they are becoming able to understand programming in a general or “panoramic” way. This understanding is not evaluated by current programming abilities testing methods such as written paper tests or practical programming. This paper proposes a Programmed...
Since unit testing is a skill required of professional software developers, lecturers have to develop this skill in their software engineering students. Therefore, we introduce the approach of “objects first, tests second”, which incorporates unit testing into introductory programming classes. We discuss requirements that teaching materials must meet to effectively support this approach, and present...
Context: Capture-recapture approach has been adopted in software inspection for decades for estimating remaining defects and supporting post-inspection decisions. A number of capture-recapture models and estimators have been borrowed from other disciplines (e.g., Biology and social sciences) and applied in software inspections. These models and estimators were created with different assumptions and...
Algebraic specification is well-known in specifyingabstract data types. It could also play an important role inverifying the interrelation between methods in classes. In thispaper we develop a framework for verifying the conformanceof method implementations against an algebraic specification. Different from most existing work that perform testing atthe code level for the conformance, our approach...
The characteristics of self-organizing, adaptive systems (SOAS) lead to a significantly higher flexibility and robustness against an ever-changing environment. This flexibility makes it hard to test these systems adequately, which is, however, inevitable in order to assure their quality. The PhD thesis faces the following key challenges for testing SOAS: state space explosion, interleaved feedback...
Continuous deployment speeds up the process of existing agile methods, such as Scrum, and Extreme Programming (XP) through the automatic deployment of software changes to end-users upon passing of automated tests. Continuous deployment has become an emerging software engineering process amongst numerous software companies, such as Facebook, Github, Netflix, and Rally Software. A systematic analysis...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.