In the realm of heterogeneous Multi-Processor System-on-Chip (MPSoC) architectures, Coarse-Grained Reconfigurable Arrays (CGRAs) have emerged as a low-power and highly efficient solution for speeding up computations. ...
详细信息
ISBN:
(纸本)9781538637982
In the realm of heterogeneous Multi-Processor System-on-Chip (MPSoC) architectures, Coarse-Grained Reconfigurable Arrays (CGRAs) have emerged as a low-power and highly efficient solution for speeding up computations. However, designing such programmable hardware accelerators is a time consuming and non-trivial task. To ease the development process, we present the TCPA Editor: a java-based graphical design environment for automatically generating Tightly Coupled Processor Arrays (TCPAs), a class of CGRAs that are highly parameterizable. The tool is tailored for designing, simulating, prototyping, and testing TCPA architectures. These consist of a massively parallel array of tightly coupled VLIW processing elements. The core array is complemented by peripheral components, e.g., controllers and a reconfigurable memory architecture. Based on the user's design entries, the editor generates synthesizable VHDL codes that describe each instance of a TCPA component. The editor can also be used for assembly programming and graphical interconnect setup. These configurations are combined into one binary code, which is used to reconfigure the hardware at runtime. Furthermore, the tool automatically generates synthesis parameters for today's de facto standard for on-chip communication. Hence, TCPAs can be easily interfaced to memory-mapped devices and high-speed streaming data, which allows for burst transfers of unrestricted size. The editor presents itself as a very powerful and user-friendly design tool for improving productivity. In the demonstration, we showcase our tool for the generation and system integration of TCPAs into heterogeneous MPSoC architectures. Finally, we present real-world case studies and synthesis results from different architectures prototyped in FPGA and ASIC technologies.
During software maintenance, programmers spend a lot of time on code comprehension. Reading comments is an effective way for programmers to reduce the reading and navigating time when comprehending source code. Theref...
详细信息
In recent years,Android platform has attracted a large number of users and developers with its stability and openness,and has become the fastest developing and most mobile intelligent operating *** of the rapid develo...
详细信息
In recent years,Android platform has attracted a large number of users and developers with its stability and openness,and has become the fastest developing and most mobile intelligent operating *** of the rapid development of the mobile APP development platform,in order to realize the mobile phone end and the server end better interactivity,this paper is based on the early adopters of APP project development,expounds how to design reasonable mobile phone application server.
This paper focuses on comments written in source programs. While comments can work for improving the readability of code, i.e., the quality of programs, there have also been concerns that comments can be added for com...
详细信息
ISBN:
(纸本)9781538621424
This paper focuses on comments written in source programs. While comments can work for improving the readability of code, i.e., the quality of programs, there have also been concerns that comments can be added for complicated source code in order to compensate for a lack of readability. That is to say, well-written comments might be associated with problematic parts to be refactored. This paper collected java methods (programs) from six popular open source products, and performs analyses on words which appear in their comments. Then, the paper shows that a method having a longer comments (more words) tends to be more change-prone and would be required more fixes after their releases.
Micro-clones are small pieces of redundant code, such as repeated subexpressions or statements. In this paper, we establish the considerations and value toward automated detection and removal of micro-clones at scale....
详细信息
ISBN:
(纸本)9781509014286
Micro-clones are small pieces of redundant code, such as repeated subexpressions or statements. In this paper, we establish the considerations and value toward automated detection and removal of micro-clones at scale. We leverage the Boa software mining infrastructure to detect micro-clones in a data set containing 380,125 java repositories, and yield thousands of instances where redundant code may be safely removed. By filtering our results to target popular java projects on GitHub, we proceed to issue 43 pull requests that patch micro-clones. In summary, 95% of our patches to active GitHub repositories are merged rapidly (within 15 hours on average). Moreover, none of our patches were contested;they either constituted a real flaw, or have not been considered due to repository inactivity. Our results suggest that the detection and removal of micro-clones is valued by developers, can be automated at scale, and may be fixed with rapid turnaround times.
In this paper, we describe a new Eclipse-based IDE for teaching java following the object-later approach. This IDE allows the programmer to write code in java-, a smaller version of the javalanguage that does not inc...
详细信息
ISBN:
(纸本)9783319301426;9783319301419
In this paper, we describe a new Eclipse-based IDE for teaching java following the object-later approach. This IDE allows the programmer to write code in java-, a smaller version of the javalanguage that does not include object-oriented features, and includes all the powerful features available when using an IDE like Eclipse (such as debugging, automatic building, and project wizards). With our implementation, it is also straightforward to create self-assessment exercises for students, which are integrated in Eclipse and JUnit.
In recent years, Datalog has been used in static analysis to detect bugs and security vulnerabilities. We present a java Static Analysis framework based on Datalog called JDQL, which allows us to find buggy code.
ISBN:
(纸本)9781450340182
In recent years, Datalog has been used in static analysis to detect bugs and security vulnerabilities. We present a java Static Analysis framework based on Datalog called JDQL, which allows us to find buggy code.
As any other software system, frameworks and libraries evolve over time, and so their APIs. Consequently, client systems should be updated to benefit from improved APIs. To facilitate this task and preserve backward c...
详细信息
ISBN:
(纸本)9781509018550
As any other software system, frameworks and libraries evolve over time, and so their APIs. Consequently, client systems should be updated to benefit from improved APIs. To facilitate this task and preserve backward compatibility, API elements should always be deprecated with clear replacement messages. However, in practice, there are evidences that API elements are usually deprecated without such messages. In this paper, we study a set of questions regarding the adoption of deprecation messages. Our goal is twofold: to measure the usage of deprecation messages and to investigate whether a tool is needed to recommend such messages. Thus, we verify (i) the frequency of deprecated elements with replacement messages, (ii) the impact of software evolution on such frequency, and (iii) the characteristics of systems which deprecate API elements in a correct way. Our large-scale analysis on 661 real-world java systems shows that (i) 64% of the API elements are deprecated with replacement messages per system, (ii) there is almost no major effort to improve deprecation messages over time, and (iii) systems that deprecated API elements in a correct way are statistically significantly different from the ones that do not in terms of size and developing community. As a result, we provide the basis for the design of a tool to support client developers on detecting missing deprecation messages.
Design pattern is a template for solving commonly occurring problems in similar situations. Design patterns can be easily implemented using java programming language. To increase the software modularity design pattern...
详细信息
ISBN:
(纸本)9781467395458
Design pattern is a template for solving commonly occurring problems in similar situations. Design patterns can be easily implemented using java programming language. To increase the software modularity design patterns can be used to model cross-cutting concerns in AspectJ programming. The effectiveness of using design patterns in both AspectJ and javaprogramming to encapsulate functional and nonfunctional design elements can provide insight onto the applicability of design patterns. Hence, a new methodology is proposed to compare the design pattern implementation of functional ad non-functional design elements as classes and aspects. An AODPE tool measured the design patterns implementation of functional and nonfunctional design elements. Based on the initial pointers of comparison it was found that AspectJ implementation shows better design properties such as size, inheritance and coupling while implementing cross-cutting functional and non-functional design elements as aspects.
Delta-oriented programming (DOP) is a flexible transformational approach to implement software product lines. In delta-oriented product lines, variants are generated by applying operations contained in delta modules t...
详细信息
Delta-oriented programming (DOP) is a flexible transformational approach to implement software product lines. In delta-oriented product lines, variants are generated by applying operations contained in delta modules to a (possibly empty) base program. These operations can add, remove or modify named elements in a program (e.g., classes, methods and fields in a java program). This paper presents algorithms for refactoring a delta-oriented product line into monotonic form, i.e., either to contain add and modify operations only (monotonic increasing) or to contain remove and modify operations only (monotonic decreasing). Because of their simpler structure, monotonic delta-oriented product lines are easier to analyze. The algorithms are formalized by means of a core calculus for DOP of product lines of java programs and their correctness and complexity are given.
暂无评论