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.
Rather than tediously writing unit tests manually, tools can be used to generate them automatically -- sometimes even resulting in higher code coverage than manual testing. But how good are these tests at actually finding faults? To answer this question, we applied three state-of-the-art unit test generation tools for Java (Randoop, EvoSuite, and Agitar) to the 357 real faults in the Defects4J dataset...
Language fuzzing is a bug-finding technique for testing compilers and interpreters, its effectiveness depends upon the ability to automatically generate valid programs in the language under test. Despite the proven success of language fuzzing, there is a severe lack of tool support for fuzzing statically-typed languages with advanced type systems because existing fuzzing techniques cannot effectively...
Visual contracts model the operations of components or services by pre-and post-conditions formalised as graph transformation rules. They provide a precise intuitive notation to support testing, understanding and analysis of software. However, due to their detailed specification of data states and transformations, modelling real applications is an error-prone process. In this paper we propose a dynamic...
Modbat makes testing easier by providing a user-friendly modeling language to describe the behavior of systems, from such a model, test cases are generated and executed. Modbat's domain-specific language is based on Scala, its features include probabilistic and non-deterministic transitions, component models with inheritance, and exceptions. We demonstrate the versatility of Modbat by finding a confirmed...
Programmers maintain and evolve their software in a variety of programminglanguages to take advantage of various control/data abstractions and legacylibraries. The programming language ecosystem has diversified over the last fewdecades, and non-trivial programs are likely to be written in more than asingle language. Unfortunately, language interfaces such as Java NativeInterface and Python/C are difficult...
Like all software, mobile applications ("apps") must be adequately tested to gain confidence that they behave correctly. Therefore, in recent years, researchers and practitioners alike have begun to investigate ways to automate apps testing. In particular, because of Android's open source nature and its large share of the market, a great deal of research has been performed on input generation...
While automated grading systems are useful for generating real-time feedback for students, they also highlight some obstacles. In particular, when a student's program contains bugs, automated systems report this fact, but not how to locate or correct them. This paper reports on a study inspired by current research on automatic fault localization — techniques to programmatically locate bugs within...
We introduce an interactive tool called WebTA that facilitates learning through automatic critique of student source code. Our tool provides immediate feedback to students and gives them experience with test-driven development. Students receive the benefits of cognitive apprenticeship through the feedback they receive in the tool. This facilitates tight, productive cycles of inquiry, critique and...
A memory leakage is a programming bug left by the programmer wherein an object which is no longer needed has not been dereferenced in the code. Programming languages like Java provide Garbage Collection mechanism which automatically reclaims memory occupied by objects which are no longer referenced and thus are no longer accessible by the application code. However memory leaks are not garbage collected...
We are moving towards a general public where web is the need of hour. Today the vast majority of the product applications executed, are composed as online applications which are keep running in a web program. Testing programming applications is critical. Numerous associations make utilization of a specific web application, so the same web applications are tried habitually by diverse clients from distinctive...
Traditional code defect detection tools exist in the form of client software, which lead to the separation of the development environment and test environment. In order to solve this problem, a plug-in java source code defect detection framework is constructed. It is based on DTS (Defect Testing System)1. It can provide a scalable platform with good flexibility, and a good support software framework...
In this paper we introduce a visual representation of Java objects that can be used for observing and manipulating behavior and state of currently developed classes. It runs separately, e.g., on a tablet, beside an integrated development environment. Within the visualization, developers are able to arbitrarily change the object state, then invoke any method with custom parameters and observe how the...
The SOFL (Structured Object-Oriented Formal Language) formal engineering method is developed to overcome the deficiencies of existing formal methods and to provide both rigorous and practical techniques for building formal specifications, transforming specifications to programs, and verifying both specifications and programs. Although it has been applied to system modeling and design in both industrial...
This paper presents a novel reverse engineering technique for obtaining real-life event logs from distributed systems. This allows us to analyze the operational processes of software systems under real-life conditions, and use process mining techniques to obtain precise and formal models. Hence, the work can be positioned in-between reverse engineering and process mining. We present a formal definition,...
A class that provides a fat interface violates the interface segregation principle, which states that the clients of the class should not be coupled with methods that they do not need. Coping with this problem involves extracting interfaces that satisfy the needs of the clients. In this paper, we envision an interface extraction method that serves a combination of four principles: (1) fitness, as...
Engineering performance-critical systems often requires manual, expensive fine-tuning of critical application parts such as start-up routines, authentication sequences and transactions. It is highly desirable to protect this investment by regression tests that indicate when performance characteristics such as memory usage or thread allocation change. While traditional testing techniques can be used,...
This paper presents a web based system for remote monitoring and control of set-top boxes. The goal of the proposed system is to provide flexible control over set-top box from remote location, in order to enable test engineers, test technicians and developers to remotely access set-top box and execute different tests on it. By using the proposed system it is possible to save resources and shorten...
Software libraries are currently a popular means to reuse functionality. While they allow for rapid development of large applications, they also bring new challenges. One of them is the selection and composition of the right set of libraries. If it is not done properly, libraries may be incompatible, duplicated or redundant. In this work, we cope with the problem of duplicate libraries and detect...
At the Universidad Politécnica de Madrid students attending a course on concurrency are taught a high-level formalism which permits concise specification of shared resources. This formalism is used to express safety-critical access policies for typical control problems such as robot plants. Students are moreover provided with programming recipes for implementing such shared resource specifications...
Code coverage is one of the main metrics to measure the adequacy of a test case/suite. It has been studied a lot in academia and used even more in industry. However, a test case may cover a piece of code (no matter what coverage metric is being used) but miss its faults. In this paper, we studied several existing and standard control and data flow coverage criteria on a set of developer-written fault-revealing...
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.