Program partitioning is a task of splitting a large, complex software system into functionally independent program modules. It is a key step in program understanding, software maintenance and software reuse. Tradition...
详细信息
Program partitioning is a task of splitting a large, complex software system into functionally independent program modules. It is a key step in program understanding, software maintenance and software reuse. Traditional program partitioning methods are nonlinear. In most cases, the computational efforts needed for partitioning a source program will increase exponentially with the size of the source program. The NP-hard complexity constitutes a computational barrier for partitioning legacy software systems properly and efficiently. In this paper, we propose a new method that can partition a source program into program modules within a timescale that is linear with the size of the program. Our method uses special heuristic knowledge, based on psychological analysis on human programming styles, to partition a source program into domain-oriented program modules. A case study on a legacy C program that consists of 92 functions is reported to demonstrate the efficiency and effectiveness of this method.
Although recognized as important, programming style is one aspect commonly neglected by developers. However, follow the pattern of programming presents in a project may be useful to understand and maintain the system....
详细信息
ISBN:
(纸本)9781728119854
Although recognized as important, programming style is one aspect commonly neglected by developers. However, follow the pattern of programming presents in a project may be useful to understand and maintain the system. Usually, the companies build their own guidelines for coding bug fixes or new features. Nonetheless, developing this set of rules is not a simple task, and there are even inconsistencies in the specialized literature. Therefore, this paper proposes a new approach to programming style analysis, using a recurrent neural network (RNN) that learns the programming style presents in a project and determines whether a piece of code submitted to it, follows the project's pattern. A study on three real projects was conducted and demonstrated the promising of the approach, by revealing the RNN capability to recognize the programming style pattern of each project.
As programs evolve they become harder to maintain as the source code becomes more difficult to comprehend. One aspect of comprehensibility is related to the programming style exhibited by the program. However, as this...
详细信息
ISBN:
(纸本)0769521495
As programs evolve they become harder to maintain as the source code becomes more difficult to comprehend. One aspect of comprehensibility is related to the programming style exhibited by the program. However, as this aspect itself is changed during the maintenance process we must attempt to maintain the original programming style quality to maintain the comprehensibility of the program. This paper presents the initial findings of an investigation of how one area of programming style (typographical style), changes over the lifetime of a program. The aim is to draw upon these findings to indicate how typographical style should be measured, and where necessary changed, to ensure program comprehensibility.
Various suggestions are made on Stata programming style, under the headings of presentation, helpful Stata features, respect for datasets, speed and efficiency, reminders, and style in the large.
Various suggestions are made on Stata programming style, under the headings of presentation, helpful Stata features, respect for datasets, speed and efficiency, reminders, and style in the large.
The use of automatic grading tools has become nearly ubiquitous in large undergraduate programming courses, and recent work has focused on improving the quality of automatically generated feedback. However, there is a...
详细信息
ISBN:
(纸本)9781450367936
The use of automatic grading tools has become nearly ubiquitous in large undergraduate programming courses, and recent work has focused on improving the quality of automatically generated feedback. However, there is a relative lack of data directly comparing student outcomes when receiving computer-generated feedback and human-written feedback. This paper addresses this gap by splitting one 90-student class into two feedback groups and analyzing differences in the two cohorts' performance. The class is an intro to AI with programming HW assignments. One group of students received detailed computer-generated feedback on their programming assignments describing which parts of the algorithms' logic was missing;the other group additionally received human-written feedback describing how their programs' syntax relates to issues with their logic, and qualitative (style) recommendations for improving their code. Results on quizzes and exam questions suggest that human feedback helps students obtain a better conceptual understanding, but analyses found no difference between the groups' ability to collaborate on the final project. The course grade distribution revealed that students who received human-written feedback performed better overall;this effect was the most pronounced in the middle two quartiles of each group. These results suggest that feedback about the syntax-logic relation may be a primary mechanism by which human feedback improves student outcomes.
Mathematics teachers want to enable students to understand mathematical objects clearly and want to use their original class materials with accurate and impressive figures. To do so, it is suitable to use both TeX and...
详细信息
ISBN:
(纸本)9780769550459
Mathematics teachers want to enable students to understand mathematical objects clearly and want to use their original class materials with accurate and impressive figures. To do so, it is suitable to use both TeX and Computer Algebra System (CAS). Nevertheless, the graphic output of CAS is not suited to the TeX document of the material. To improve it, since 2006, the authors have been developing KETpic as a plug-in based on CAS. The use of both TeX and KETpic based on CAS enables teachers to produce their original class materials with accurate and impressive figures. They wish not only to produce their original class materials with figures but also to use the class materials with figures produced by the others. To realize that objective, a good KETpic programming style is needed. For example, when educators produce a figure along with their material by KETpic, they wish to perform symbolic thinking, i.e. they create a KETpic program in a mathematical drawing procedure and concentrate their energy on qualitative improvement of the figures while they recognize the global image of the figure. Symbolic thinking is a factor in good elements of KETpic programming style. The authors investigated other good elements of KETpic programming style using a documentation approach, which is the method of checking teachers' records in detail for their improvement. In this paper, the authors present four good elements of the KETpic programming style.
The results of investigation of computer programs written by school students during the 6th International Olympiad in Informatics are presented. Pascal program texts are analyzed on the lexical level. A certain relati...
详细信息
Pedagogically significant results from an experiment which analyzed over 600 student COBOL programs for style provide evidence supportive of the use of good programming style. This paper presents some approaches which...
详细信息
We developed a tool for learning the programming style of Java. The tool has the following functions: (1) recommends the use of CamelCase and English words for the names of classes, methods, and variables;(2) recommen...
详细信息
ISBN:
(纸本)9780819495662
We developed a tool for learning the programming style of Java. The tool has the following functions: (1) recommends the use of CamelCase and English words for the names of classes, methods, and variables;(2) recommends setting the correct scope level of variables and the appropriate length of variable names;(3) recommends writing comments in source programs;(4) shows sample source programs according to the programming style of Java.
We developed an Eclipse plugin tool for learning the programming style of Java. The tool has the following functions: (1) recommends using CamelCase and English words for the names of classes, methods, and variables;(...
详细信息
ISBN:
(纸本)9781479929511
We developed an Eclipse plugin tool for learning the programming style of Java. The tool has the following functions: (1) recommends using CamelCase and English words for the names of classes, methods, and variables;(2) points out incorrect scope levels of variables and inappropriate lengths of variable names;(3) recommends writing comments in source programs;(4) shows sample source programs in the Java programming style. The evaluation results show the tool is efficient for learning the programming style of Java.
暂无评论