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.
In software development, there are many situations in which developers need to understand given source code changes in detail. Until now, a variety of techniques have been proposed to support understanding source code changes. Tree-based differencing techniques are expected to have better understandability than text-based ones, which are widely used nowadays (e.g., diff in Unix). In this paper, we...
MetricAttitude [18] is a visualization approach implemented in an environment that provides a mental picture of an object-oriented software by means of polymetric views of classes. In this paper, we describe a qualitative investigation we have conducted with a focus group involving developers aiming at evaluating their viewpoint on the relevance of the support MetricAttitude provides to perform comprehension...
During software development, code clones are commonly produced, in the form of a number of the same or similar code fragments spreading within one or many large code bases. Numerous research projects have been carried out on empirical studies or tool support for detecting or analyzing code clones. However, in practice, few such research projects have resulted in substantial industry adoption. In this...
Software engineering involves a lot of change as code artifacts are not only created once but maintained over time. In the last 25 years, major paradigms of program development have arisen – agile development with refactorings, software product lines, moving sequential code to multicore or cloud, etc. Each is centered on particular kinds of change; their conceptual foundations rely on transformations...
Automatic fault localization techniques are developed to assist software developers in program debugging. However, it is difficult to apply such techniques in practical usage. To bridge the gap between theory and practice, this paper introduces our work UnitFL, which integrates dynamic fault localization approaches with unit tests. Moreover, program slicing and dynamic program instrumentation techniques...
Programming assignment specifications are typically communicated to learners as text in a natural language. These specifications may be ambiguous, and the problem can be compounded in a linguistically diverse country when learners or instructors lack fluency in the language of communication. In this paper, we propose an alternate way for instructors to specify intent that is suitable for certain types...
Software engineering is extremely information-intensive. Every day developers work with source code, version repositories, issue trackers, documentation, web-based and other information resources. However, three key aspects of information work lack good support: (i) combining information from different sources; (ii) flexibly presenting collected information to enable easier comprehension; and (iii)...
Spreadsheet environments like MS Excel are the most widespread type of end-user software development tools and spreadsheet-based applications can be found almost everywhere in organizations. Since spreadsheets are prone to error, several approaches were proposed in the research literature to help users locate formula errors. However, the proposed methods were often designed based on assumptions about...
Bugs reports and version archives are two useful sources of information for quality analysts, with the goal of mapping the bugs fixes to source code files. Manually performing this task is as arduous as it is time consuming. We propose a tool which programmatically performs this job in two phases-First, it filters relevant log entries by traversing CVS/SVN log files and then it parses the textual...
Background: Performance bugs can lead to severe issues regarding computation efficiency, power consumption, and user experience. Locating these bugs is a difficult task because developers have to judge for every costly operation whether runtime is consumed necessarily or unnecessarily. Objective: We wanted to investigate how developers, when locating performance bugs, navigate through the code, understand...
Dynamic fault localization is a representative concept and product proposed by academia to alleviate software engineering pains, but it is rarely heard adopted or used in realistic development. Realizing the difficulties in transferring the approaches of dynamic fault localization to practical tools, this paper gives our work FLAVS, whose add-in implementation organically and seamlessly integrates...
Software bug reports are important project artifacts that evolve throughout the life of a software project. Software bugs are issues that are reported by users when these issues hinder their work. Software projects evolve over time as bugs are addressed and new features are added. Managing bugs can be a significant challenge as a project manager generally needs to be aware of all the bug reports for...
Software projects have usually a lot of software engineering data available in different kinds of repositories. This data can be mined and used for software process improvement purposes. In general, agile methodologies emphasize reflection, making problems visible, and learning from the past. As the human mind is powerful in interpreting visual representations, visualizations could help in recognizing...
In recent years, automatic software verification has emerged as a complementary approach to program testing for enhancing software quality. Finding bugs is the ultimate aim of software verification tools. How do we best support the programmer who has to diagnose and understand those bugs? Unfortunately, most of the existing tools do not offer enough support for error diagnosis. We have developed a...
This paper proposes to apply information visualization technologies to the support of monitoring bug update information sent from multiple bug tracking systems. Bug update information managed by bug tracking systems (BTS) is one of text stream data, which continuously generates new data. Therefore, it is difficult for users to watch it all the time. In other words, the task of monitoring stream data...
Owing to the inherent non-determinism of concurrent programs, traditional debugging techniques are not sufficient, especially in the scene of postmortem debugging. Exploring defects through static analysis can avoid the high cost of failure reproduction. In this paper, we present a novel debugging method for concurrency bugs. We make use of information in bug reports and slicing techniques, construct...
Software visualization has attracted lots of attention. The techniques fall into two categories: visualization of software component relationships and visualization of software metrics.We have already proposed a hybrid method based on both of the two categories. The proposed method visualizes coincidence between specification and implementation from two aspects: static checking and ordinal testing...
Inflo is a web-based tool designed to support quantitative decision-making problems such as carbon calculators. Using the dataflow programming paradigm, Inflo provides an extensible environment for end-user programming. Inflo is built around the idea of collaboration and openness for opportunistic code-reuse and unplanned code sharing.
Software visualization has attracted lots of attention. The techniques fall into two categories: visualization of software component relationships and visualization of software metrics. We propose a new hybrid method based on both of the two categories. The proposed method visualizes coincidence between specification and implementation from two aspects: static checking and ordinal testing by test...
While code is typically presented as a flat file to a developer who must change it, this flat file exists within a context that can drastically influence how a developer approaches changing it. While the developer clearly must be careful changing any code, they probably should be yet more careful in changing code that recently saw major changes, is barely covered by test cases, and was the source...
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.