To support students in a computer science programme in their first steps with programming in Java, we provide a tool for early formative feedback regarding the comprehension of the instruction types. The tool asks the...
详细信息
ISBN:
(纸本)9781450363013
To support students in a computer science programme in their first steps with programming in Java, we provide a tool for early formative feedback regarding the comprehension of the instruction types. The tool asks the students to enter memory traces for ordinary Java programs. To increase the effectiveness, we consider how to provide substantial hints to the students, where exactly they have to change their mental model of program execution. This requires the detection of co-occurring problems across multiple Java programs. We present a data mining approach that allows to automatically detect code fragments that cause systematic difficulties in the group of students. First results are promising and the desired effective feedback seems within reach.
Software systems are designed according to guidelines and constraints defined by business rules. Some of these constraints define the allowable or required values for data handled by the systems. These data constraint...
详细信息
Software systems are designed according to guidelines and constraints defined by business rules. Some of these constraints define the allowable or required values for data handled by the systems. These data constraints usually originate from the problem domain (e.g., regulations), and developers must write code that enforces them. Understanding how data constraints are implemented is essential for testing, debugging, and software change. Unfortunately, there are no widely-accepted guidelines or best practices on how to implement data constraints. This paper presents an empirical study that investigates how data constraints are implemented in Java. We study the implementation of 187 data constraints extracted from the documentation of eight real-world Java software systems. First, we perform a qualitative analysis of the textual description of data constraints and identify four data constraint types. Second, we manually identify the implementations of these data constraints and reveal that they can be grouped into 31 implementation patterns. The analysis of these implementation patterns indicates that developers prefer a handful of patterns when implementing data constraints. We also found evidence suggesting that deviations from these patterns are associated with unusual implementation decisions or code smells. Third, we develop a tool-assisted protocol that allows us to identify 256 additional trace links for the data constraints implemented using the 13 most common patterns. We find that almost half of these data constraints have multiple enforcing statements, which are code clones of different types. Finally, a study with 16 professional developers indicates that the patterns we describe can be easily and accurately recognized in Java code.
Nowadays, with the developing of the computer science, computer vision is widely used in many areas. It is still a major problem about feature recognition in complex background and uneven intensity of light environmen...
详细信息
ISBN:
(纸本)9781467321259
Nowadays, with the developing of the computer science, computer vision is widely used in many areas. It is still a major problem about feature recognition in complex background and uneven intensity of light environment. Some researchers have already achieved in particular conditions. With the robot stepping into family, it is necessary to conduct in-depth study about feature recognition and access to information in complex indoor environmental conditions. In this paper, we present a fast identification approach for QR code in the indoor environment with normal light intensity. In the process of image feature recognition, it is very difficult for the edge while recognizing the slope image. Therefore, we use vector method to express the color characteristics in the image, and use the square minimum method to determine the edge lines of the pattern. In addition, linear scale transformation makes the image pattern more suitable for standard grids, which can correct the tiny sampling error. Besides, in the experiment of emulation process, we add a colored periphery features to positioning the image. It can be captured clearly due to the special colored background and behave well in the distance of 0.5m to 2m. Using an 860-pixel distance camera, the QR code pattern can be captured easily and identified effectively. A feedback control planar mobile robot is used as a platform to verify the identification method. After the robot heading to the front of the QR code pattern about 0.5m, the data of the sample image can be scanned and read accurately. The experiment results show that the approach is feasible and effective.
As a result of the large scale and diverse composition of modern compiled JavaScript applications, comprehending overall program structure for debugging is challenging. In this paper we present our solution: MetropolJ...
详细信息
ISBN:
(数字)9781450357142
ISBN:
(纸本)9781538661697
As a result of the large scale and diverse composition of modern compiled JavaScript applications, comprehending overall program structure for debugging is challenging. In this paper we present our solution: MetropolJS. By using a Treemap-based visualization it is possible to get a high level view within limited screen real estate. Previous approaches to Treemaps lacked the fine detail and interactive features to be useful as a debugging tool. This paper introduces an optimized approach for visualizing complex program structure that enables new debugging techniques where the execution of programs can be displayed in real time from a bird's-eye view. The approach facilitates highlighting and visualizing method calls and distinctive code patterns on top of code segments without a high overhead for navigation. Using this approach enables fast analysis of previously difficult-to-comprehend code bases.
暂无评论