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.
Determining complexity of software is always a prime concern for the software developers. Higher the complexity, difficult to maintain the software. If software undergoes maintenance again and again, it gradually decreases the quality of software and cost of maintenance increases. One import concept of software engineering that improves the quality of software and makes the software more maintainable...
Cyclomatic complexity (CC) is used to find out the number of independent paths in a program or software. In literature, different algorithms have been proposed to compute the CC of a program or software. In this paper, we proposed an algorithm for the computation of CC based on graph theory. We apply the proposed method to compute the CC of login module of an Institute Examination System (IES).
The m subsequence proposed in this paper is a new sequence formed by changing state transition orders interactively according to the state transition characteristics of the m sequence. The m subsequence is validated using the random test software NIST for its similar randomness as an m sequence. Using the BM algorithm, it is shown that this type of pseudo-random sequences has very high linear complexity...
Nowadays, a company should be equipped with information technology and one of them is business application either web based or non web based which is built with object oriented programming in order to help the management to run their daily business processes. In order to supports a company with best excellent software applications then we need to make sure the quality of software application in term...
After four successful JUnit tool competitions, we report on the achievements of a new Java Unit Testing Tool Competition. This 5th contest introduces statistical analyses in the benchmark infrastructure and has been validated with significance against the results of the previous 4th edition. Overall, the competition evaluates four automated JUnit testing tools taking as baseline human written test...
In recent years, several important initiatives have appeared worldwide, aimed at bringing significant innovation in industrial networked systems (INSs). As an example, the Industry 4.0 and Factory of the Future frameworks are paving the way to modern intelligent factories, where issues such as the communication complexity between smart devices and system on-the-fly reconfiguration are dealt with in...
Even though build automation tools help to reduce errors and rapid releases of software changes, use of build automation tools is not widespread amongst software practitioners. Software practitioners perceive build automation tools as complex, which can hinder the adoption of these tools. How well founded such perception is, can be determined by systematic exploration of adoption factors that influence...
As the software development community makes it easier to contribute to open source projects, the number of commits and pull requests keep increasing. However, this exciting growthrenders it more difficult to only accept quality contributions. Recent research has found that both technical and social factors predictthe success of project contributions on GitHub. We take this question a step further,...
Using Clustering algorithm to improve the effectiveness of test case prioritization has been well recognized by many researchers. Software fault prediction has been one of the active parts of software engineering, but to date, there are few test cases prioritization technique using fault prediction. We conjecture that if the code has a fault-proneness, the test cases covering the code will findfault...
Using Clustering algorithm to improve the effectiveness of test case prioritization has been well recognized by many researchers. Software fault prediction has been one of the active parts of software engineering, but to date, there are few test cases prioritization technique using fault prediction. We conjecture that if the code has a fault-proneness, the test cases covering the code will find fault...
Software Reverse Engineering scenario would involve software that has been worked upon for years and carries several modules of a business in its lines of code. Unfortunately the source code of the application has been lost, what remains is “native” or “binary” code. Traditional obfuscators work on binary code but they are tedious and do not provide us with a specific obfuscation depending upon the...
In Data Mining (DM) projects, more specifically in the Data Understanding and the Data Preparation phases, several techniques found in the literature are used to detect and handle data quality problems such as missing data, outliers, inconsistent data or time-variant data. However, the main limitation in the application of these techniques is the complexity caused by a lack of anticipation in the...
This paper presents a methodology to implement holistic security systems on complex hardware and software platforms by means of a set of software APIs and conceptual abstraction layers which simplify both the security development and the security integration in existing infrastructures. To validate the methodology, all the hardware and software developments have been deployed on the SEcube™, an open...
Traditional lighting is focused on the prevention of hardware failures. With the trend towards controlled and connected systems, other components will start playing an equal role in the reliability of it. Here reliability need to be replaced by availability and other modelling approaches are to be taken into account. System prognostics and health management is the next step to service the connected...
Despite decades of research on software metrics, we still cannot reliably measure if one design is more maintainable than another. Software managers and architects need to understand whether their software architecture is "good enough", whether it is decaying over time and, if so, by how much. In this paper, we contribute a new architecture maintainability metric---Decoupling Level (DL)---derived...
Our community constantly pushes the state-of-the-art by introducing “new” techniques. These techniques often build on top of, and are compared against, existing systems that realize previously published techniques. The underlying assumption is that existing systems correctly represent the techniques they implement. This pa- per examines that assumption through a study of KLEE, a popular and well-cited...
Tracking long-term progress in engineering and applied science allows us to take stock of things we have achieved, appreciate the factors that led to them, and set realistic goals for where we want to go. We formulate seven hypotheses associated with the long term evolution of C programming in the Unix operating system, and examine them by extracting, aggregating, and synthesising metrics from 66...
Recently, Technical Debt (TD) has gained popularity in the Software Engineering community to describe design decisions that allow software development teams to achieve short term benefits such as expedited release of code. Technical debt accrued should be managed to avoid the disastrous consequences of these temporary workarounds. Management of technical debt involve documenting the debt item in the...
Software Estimation is an important part of every Software Engineers’ skill set.At Stevens Institute of Technology, we have taught Estimation as part of our Software Engineering Masters Program since 2001.Over the past few years, we have evolved our teaching style to be more experiential and engaging. This case study describes an evolving software engineering pedagogical method using LEGOs, which...
Software defect localization is an important step in the process of fixing defects and is a necessary means to improve software quality. In the process of fixing defects, it is also the most time-consuming and laborious task to accurately locate the files where the defects should be fixed. In order to clarify the research progress in the field of defect localization, we introduce the key technologies...
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.