A recent industry survey (Townhidnejad and Hilburn, 2002) has reported that more than fifty percent of a software project's budget is spent on activities related to improving software quality. Industry leaders cla...
详细信息
A recent industry survey (Townhidnejad and Hilburn, 2002) has reported that more than fifty percent of a software project's budget is spent on activities related to improving software quality. Industry leaders claim that this is caused by the inadequate attention paid to software quality in the development phase. This paper introduces a static analysis framework which can be used to give beginning students practice in writing better quality java programs and to assist teaching staff in the marking process. The framework uses both software engineering metrics and relative comparison to judge the quality of student's programs and provide feedback about how solutions might be improved.
This work presents the first steps towards the development of a toolkit for aiding in the construction of Distributed Cognitive Systems, designed within the spirit of the System of Systems (SoS) paradigm. The Toolkit ...
详细信息
ISBN:
(数字)9781728176475
ISBN:
(纸本)9781728176482
This work presents the first steps towards the development of a toolkit for aiding in the construction of Distributed Cognitive Systems, designed within the spirit of the System of Systems (SoS) paradigm. The Toolkit is language agnostic and general enough to be used in building problem-specific Cognitive Systems that can spread across several physical or virtual devices such as low-power computers, microcontrollers, and virtual containers. The Toolkit is conceived targeting to be suitable for IoT and Smart City applications.
The study of Electromagnetics is required in most electrical engineering graduate and undergraduate curricula. Traditional methods for teaching Electromagnetics are abstract, theoretical and filled with infinite numbe...
详细信息
ISBN:
(纸本)9781424470594
The study of Electromagnetics is required in most electrical engineering graduate and undergraduate curricula. Traditional methods for teaching Electromagnetics are abstract, theoretical and filled with infinite number of mathematical equations. Thus, they are not anymore appropriate. The solution is to provide to both professors and students an interactive software with a simplified graphic interface to best teach and learn fundamentals of Electromagnetism. Interactive resources have demonstrated that they were attractive and encouraged the students to be active and autonomous. The aim of this work is to present such software called EMSoft. It uses the calculation functions of Matlab, combined with the powerful graphical user interfaces of java.
The traditional tradeoff when performing dynamic compilation is that of fast compilation time versus fast code performance. Most dynamic compilation systems for java perform selective compilation and/or optimization a...
详细信息
ISBN:
(纸本)1581133359
The traditional tradeoff when performing dynamic compilation is that of fast compilation time versus fast code performance. Most dynamic compilation systems for java perform selective compilation and/or optimization at a method granularity. This is the not the optimal granularity level. However, compiling at a sub-method granularity is thought to be too complicated to be practical. This paper describes a straightforward technique for performing compilation and optimizations at a finer, sub-method granularity. We utilize dynamic profile data to determine intra-method code regions that are rarely or never executed, and compile and optimize the code without those regions. If a branch that was predicted to be rare is actually taken at run time, we fall back to the interpreter or dynamically compile another version of the code. By avoiding compiling and optimizing code that is rarely executed, we are able to decrease compile time significantly, with little to no degradation in performance. Futhermore,ignoring rarely-executed code can open up more optimization opportunities on the common paths. We present two optimizations---partial dead code elimination and rare-path-sensitive pointer and escape analysis---that take advantage of rare path information. Using these optimizations, our technique is able to improve performance beyond the compile time improvements
Optimizing exception handling is critical for programs that frequently throw exceptions. We observed that there are many such exception-intensive programs iin various categories of java programs. There are two commonl...
详细信息
ISBN:
(纸本)1581133359
Optimizing exception handling is critical for programs that frequently throw exceptions. We observed that there are many such exception-intensive programs iin various categories of java programs. There are two commonly used exception handling techniques, stack unwinding optimizes the normal path, while stack cutting optimizes the exception handling path. However, there has been no single exception handling technique to optimize both paths.
In this paper, we present a novel resilience improvement system for java applications. The unique feature of this system is to combine automated monitoring, automated perturbation injection, and automated resilience i...
详细信息
ISBN:
(纸本)9781728149837
In this paper, we present a novel resilience improvement system for java applications. The unique feature of this system is to combine automated monitoring, automated perturbation injection, and automated resilience improvement. The latter is achieved thanks to the failure-oblivious computing, a concept introduced in 2004 by Rinard and colleagues. We design and implement the system as agents for the java virtual machine. We evaluate the system on two real-world applications: a file transfer client and an email server. Our results show that it is possible to automatically improve the resilience of java applications with respect to uncaught or mishandled exceptions.
Decompilation, the process of converting machine-level code into readable source code, plays a critical role in reverse engineering. Given that the main purpose of decompilation is to facilitate code comprehension in ...
详细信息
Decompilation, the process of converting machine-level code into readable source code, plays a critical role in reverse engineering. Given that the main purpose of decompilation is to facilitate code comprehension in scenarios where the source code is unavailable, the understandability of decompiled code is of great importance. Unfortunately, previous researches have predominantly concentrated on the correctness of decompilation, leaving the understandability of the decompiled code largely unexplored. Do decompiler stakeholders place importance on the understandability of decompiled code? Are there any methodologies that can be used to assess this understandability? These questions, however, remain unanswered so far. Therefore, in this paper, we propose the first empirical study on the understandability of java decompiled code. This study involves a well-designed user survey to reveal the Severity and Universality of understandability issues in java decompilation, as well as a series of experiments for the understandability comparison between a total of 429 sets of source code files from 14 java projects and corresponding decompiled files provided by 3 famous java decompilers. Through an in-depth analysis of the survey results and the experiment results, we obtained the following findings: (1) Understandability of java decompilation is considered as important as its correctness, and decompilation understandability issues are even more commonly encountered than decompilation failures. (2) A notable percentage of code snippets decompiled by java decompilers exhibit significantly lower or higher levels of understandability in comparison to their original source code. (3) Unfortunately, Cognitive Complexity demonstrates relatively acceptable precision while low recall in recognizing these code snippets exhibiting diverse understandability during decompilation. (4) Even worse, perplexity demonstrates lower levels of precision and recall in recognizing such code snippets.
Through audio-taped student interviews, this study examined beginning java students' conceptions of object-oriented programming. Students rated programs on stylistic criteria including ease of comprehension, ease ...
详细信息
ISBN:
(纸本)9781581133295
Through audio-taped student interviews, this study examined beginning java students' conceptions of object-oriented programming. Students rated programs on stylistic criteria including ease of comprehension, ease of debugging, ease of modification, ease of reuse, and overall quality of design. They also explained the reasons for their ratings. The results will be discussed and interpreted in light of previous research. Implications for instruction will also be examined.
Pre-trained Code language Models (Code-PLMs) have shown many advancements and achieved state-of-the-art results for many software engineering tasks in the past few years. These models are mainly targeted for popular p...
详细信息
暂无评论