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.
Modern distributed applications are typically obtained by integrating new code with legacy (and possibly untrusted) third-party services. Some recent works have proposed to discipline the interaction among these servi...
详细信息
ISBN:
(数字)9783319395708
ISBN:
(纸本)9783319395708;9783319395692
Modern distributed applications are typically obtained by integrating new code with legacy (and possibly untrusted) third-party services. Some recent works have proposed to discipline the interaction among these services through behavioural contracts. The idea is a dynamic discovery and composition of services, where only those with compliant contracts can interact, and their execution is monitored to detect and sanction contract breaches. In this setting, a service is said honest if it always respects the contracts it advertises. Being honest is crucial, because it guarantees a service not to be sanctioned;further, compositions of honest services are deadlock-free. However, developing honest programs is not an easy task, because contracts must be respected even in the presence of failures (whether accidental or malicious) of the context. In this paper we present Diogenes, a suite of tools which supports programmers in writing honest java programs. Through an Eclipse plugin, programmers can write a specification of the service, verify its honesty, and translate it into a skeletal java program. Then, they can refine this skeleton into proper java code, and use the tool to verify that its honesty has not been compromised by the refinement.
Many factor that affected schedule arrangement made the problem became more complicated. Searching for timetabling solution using optimization process is a real example for a complex computation. One of the ways to so...
详细信息
ISBN:
(纸本)9781509017096
Many factor that affected schedule arrangement made the problem became more complicated. Searching for timetabling solution using optimization process is a real example for a complex computation. One of the ways to solve the problem of computation complexity is changing sequential computation paradigm into parallel computing ones. This research aimed to analyze and to apply parallel processing for building a course timetabling software for the Department of Electrical Engineering, State Islamic University of Sultan Syarif Kasim Riau. The research was begun with the description on course timetabling problem in the department. Some of solution prerequisite for hard and soft constraints has been determined. Afterward, the conflict course graph was reconstructed properly. The process was done simultaneously with the process of rooms to be assembled, graph that was formed has included its room candidate. Then, conflict course graph was colored to become non-conflict course graph. The coloring task was calculated by parallel computing using multithread classes in java programming language. The results were achieved in this research are the process of graph to be formed in an adjacency matrix, and coloring of the graph was done successfully both in sequential and multithread computations. Solving the process into two threads, the execution time become faster than sequential ones with the speed up is 3.14 times, and the efficiency of processor is 78.51%.
暂无评论