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.
Even the smallest coding mistake can cause huge problems when it slips by testing. Finding it can be difficult, and retesting the fixed system can be expensive, but this certainly isn’t true for every type of problem. A defect found and fixed during coding is a fairly routine occurrence and not costlier than a defect found and fixed during design. Quite the opposite is usually true.
Code review is a key tool for quality assurance in software development. It is intended to find coding mistakes overlooked during development phase and lower risk of bugs in final product. In large and complex projects accurate code review is a challenging task. As code review depends on individual reviewer predisposition there is certain margin of source code changes that is not checked as it should...
There is widening chasm between the ease of creating software and difficulty of "building security in". This paper reviews the approach, the findings and recent experiments from a seven-year effort to enable consistency across a large, diverse development organization and software portfolio via policies, guidance, automated tools and services. Experience shows that developing secure software...
The research was carried out and the Cyrillic typeface, based on the handwriting, was developed. The font-building software was investigated. Sketches of the font were drawn and converted to the vector format. Afterward, the characters and glyphs, ligatures, tracking, kerning pairs of the handwritten font were constructed. The FineReader was learned to recognize the developed font.
Life cycle management is an effective way to maintain software quality in safety-critical systems; however, it faces difficulties when applied on software of Programmable Logic Device (PLD). This is because: (1) traditional models on software development do not fit with design workflow of PLD; (2) adaptive models for PLD focus mainly on specific features during software implementation, ignoring high-level...
Technical Debt (TD) refers to the long-term consequences of shortcuts taken during different phases of software development life cycle. Lack of attention to monitoring and managing testing and development debt can contribute to unexpectedly large cost overruns and severe quality issues in software development projects. This paper describes a case study conducted with an industry partner to explore...
This paper proposes an efficient method for accelerating Transform Unit (TU) depth decisions based on the rough mode cost (RMC), which is the simplified rate-distortion (RD) cost during the rough mode decision (RMD), in HEVC intra coding. The TU partition of the mode with the minimal RMC is used to determine the TU partitions of remaining intra modes. The proposed TU partitioning method improves RD...
Despite being popular end-user tools, spreadsheets suffer from the vulnerability of error-proneness. In software engineering, testing has been proposed as a way to address errors. It is important therefore to know whether spreadsheet users also test, or how do they test and to what extent, especially since most spreadsheet users do not have the training, or experience, of software engineering principles...
Context: To be more flexible, companies call more and more for an independence between development tools and processes. To enable this form of decoupling we need to understand the interrelation of processes and development tools. However, knowledge about that field is rare.Goal: The goal of this study is to better understand how technologies in use might impact the processes and team interaction.Method:...
In modern networks, faults in the network state, e.g., loops, black holes and access control violations that make services unavailable, arise commonly. To ensure networks' correctness, existing approaches verify network-wide invariants. However, these approaches cannot detect or prevent faults immediately as they arise, so that network performance is not affected. In this paper, we present a data...
Recently, Java has been educated in many universities and professional schools due to reliability, portability, and scalability. However, because of its limited time in Java programming courses, coding rules are rarely educated. As a result, codes made by students become far from readable codes. In this paper, we propose a coding rule learning function using static code analyzers in Java Programming...
Erasure code based object storage systems are becoming popular choices for archive storage systems due to cost-effective storage space saving schemes and higher fault-resilience capabilities. Both erasure code encoding and decoding procedures involve heavy array, matrix, and table-lookup compute intensive operations. With today's advanced CPU design technologies such as multi-core, many-core, and...
We have observed students teams on a software engineering project course to understand what software engineering practices they end up using and how do they experience the usefulness of the selected practices and tools. In our context, the most often applied practices and tools were planning meeting, commitment to using tasks, self-selected communication tools, a revision control, and project management...
We present our findings after two years of experience involving three instructors using an "athletic" approach to software engineering education (AthSE). Co-author Johnson developed AthSE in 2013 to address issues he experienced teaching graduate and undergraduate software engineering. Co-authors Port and Hill subsequently adapted the original approach to their own software courses. AthSE...
The aim of any company is to deliver reliable product in dynamic and competitive environment. Measuring Testing efficiency and effectiveness is done by proper identification of test attributes and defect origin at various levels of software development phase and removal of these errors becoming an important influencing factor for the invention of quality software. This paper provides an experimental...
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...
Web applications dependent on back-end databases are currently not immune to SQL injection attacks despite huge investment in security artefacts and defensive software mechanisms deployed by organizations. These forms of attacks involve the insertion of malformed strings or specially crafted input encoded as SQL query into web forms or http header requests to web servers. While many techniques have...
This paper compares widely employed simulation modeling approaches: System Dynamics (SD) and Discrete Event Simulation (DES). SD and DES follow two quite different modeling philosophies and can bring very different but complimentary insights in understanding to the same ‘real world’ problem. An exploratory study is undertaken to investigate the ability of new practitioners to assimilate and then put...
Existing specification-based testing techniques require specifications that either do not exist or are too difficult to create. As a result, they often fall short of their goal of helping developers test expected behaviors. In this paper we present a novel, natural language-based approach that exploits the descriptive nature of test names to generate test templates. Similar to how modern IDEs simplify...
Tests are increasingly specified as programs. Expressing tests as code is advantageous in that developers are comfortable writing and running code, and tests can be automated and reused as the software evolves. Tests expressed as code, however, can also contain faults. Some test faults are similar to those found in application code, while others are more subtle, caused by incorrect implementation...
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.