Sunteți pe pagina 1din 4

International Conference on Computing and Intelligence Systems

Pages: 1332 1335

Volume: 04, Special Issue: March 2015


ISSN: 2278-2397

Effective code Reusability Frame Work by


Pair Programming
A.Ravi1, K.Nirmala2
1

Research Scholar, Manonmaniyamsundarnar University


Associate Professor Department of Computer Science, Quaid-E-Millath Govt. College For Women, Chennai.
Email: gangai_ravi@gmail.com, nimimca@yahoo.com

Abstract-Extreme pair programming practice


(EPPP) is a software development methodology in
which two engineers participate in one
development effort at one workstation. The pair
programming have grown in popularity in both
academic research as well as in industry. In the
industry, pair or collaborative programming is
two programmers develop software side by side at
one computer. In this research work, it is
investigated and implemented the innovative
framework design and the cost and benefits of
pair programming and found that for a
development time cost. Pair Programming (PP)
improve design quality, reduces defects, reduces
staffing risk, enhances programming skills,
improve team communications and is considered
more enjoyable at statistically significant levels.
Keywords-pair programming, code reviews,
industry factors, people factors, collaborative
programming frameworks.

Figure 1: Pair ProgrammingExtreme Programming


(XP)

I. INTRODUCTION
Pair programming is a dialogue between two
people trying to simultaneously program (and
analyze, design and test) and understand together how
to program better, it is a conversation at many levels,
assisted by and focused on a computer. Ultimately,
what is the value of a true team that works well
together, collaborates, continuously improves the
code base, and encourages each member to improve?
Thats the kind of team that we can foster with
healthy pairing. The bean counters might not get it,
but the benefits to all involvedbe the programmer,
manager, customer, or business-warrants serious
consideration.
XP is a disciplined approach to delivering highquality software quickly and continuously. It
promotes high customer involvement, rapid feedback
loops, continuous testing, continuous planning, and
close teamwork to deliver working software at very
frequent intervals, typically every 1-3 weeks.
Advantage of pair programming

Earlier task completion: pair programming can


potentially increase the development speed and
thus shorten time- to market.
Higher software quality: software quality is
expected to increase from pair-programming due
to the Two heads are better than One

International Journal of Computing Algorithm (IJCOA)

Smaller variance of effort: smaller variance of


effort means greater predictability of effort.
Cross learning: several researchers identified
inter change of knowledge in the process of pair
programming.
Better code readability: readability promotes
exchangeability of code and potentially lowers
program maintenance cost.
Reduce the chance of task misunderstanding
the chance that one person incorrectly
interprets a requirement is higher than two.

II. RELATED WORK


A research paper titled by strengthening the case
for pair programming is discussed by Laurie
Williams et al. in [1].The purpose of this article is to
demonstrate through subjective, qualitative and
measurable evidence, that incorporating pair programming into a software development process
will help harvest software products of better quality
in less time with happier, more confident
programmers. Supportive evidence comes from
professional programmers and from the results of
aorganized experiment run with advanced
undergraduate students at the University of Utah.
They concluded that for years, pair programmers in
industry have demanded that they have produced
higher excellence software products in a shorter
amount of time. However, their results were

1332

International Conference on Computing and Intelligence Systems


Pages: 1332 1335
subjective and qualitative it works and it feels
right.
Williams et al. discussed about Eleven
Guidelines for Implementing Pair Programming in
the Classroom [2]. They present the pair
programming guidelines in the context of the HCI
course, discuss how the guidelines were
implemented, and evaluate the general applicability
and sufficiency of the guidelines. They find that eight
of the nine guidelines were applicable to the Virginia
Tech experience. They amended our peer evaluation
guideline to account for constantly supervised
pairing, as was the case at Virginia Tech. They add
two guidelines stating that a pair should always be
working toward a common goal and that pairs should
be encouraged to find their own answers to increase
their independence and self-confidence. The first
suggests that it is important for students in a pair be
working for a common goal. The second additional
guideline suggests that teaching staff refrain from
telling pairs the answer and instead point them in the
right direction and enable them to find the answer
together. They hope these guidelines can help other
educators be as successful as possible with pair
programming in the classroom.
An initial framework for research on pair
programming is explained by Gallis et al. in [3]. They
present an initial framework for research on pair
programming. The aim is to support empirical studies
and meta-analysis for developing theories about pair
programming. The framework is based on (1) existing
studies on pair programming, (2) ongoing studies by
the authors, and (3) theories from group dynamics. In
this paper they have presented existing claims about
PP. Results of existing empirical work on PP
regarding the claims are apparently contradictory.
An initial frame work for research real-world
data sets in [4] .Many modern sensors used for
mapping produce 3D point clouds, which are
typically registered together using the iterative closest
point (ICP) algorithm. Because ICP has many
variants whose performances depend on the
environment and the sensor, hundreds of variations
have been published.In this paper, we proposed a
protocol to compare ICP variants. We lay the
emphasis on the repeatability of the results by
selecting publicly available data sets.This paper gives
an overview of a pair-programming experiment
designed to verify how pair-programming affects
programmers technical productivity. The experiment
took place at the Institute of Computer Science,
University of Tartu (UT)
You know what I like about pair
programmingFirst, its something that has been
shown to help produce quality products. But, its also
something that you can easily add to your process
that people actually want to do. Its a conceptually
small thing to add, as opposed to having an
overblown methodology shoved down your throat.
And, when times get tough, you wouldnt likely

International Journal of Computing Algorithm (IJCOA)

Volume: 04, Special Issue: March 2015


ISSN: 2278-2397

forget to do pair programming or decide to drop it


just to get done. I just think the idea of working
together is a winner.
The following authors described papers Early
research on pair programming had mainly focused on
the ability of the technique to benefit the students in
terms of productivity and quality of work produced
(Williams et al, 2000). Besides that, research
evidence also suggested that pair programming can
cause enjoyment (Mc Dowell et al, 2003; Mendes et
al., 2005; Williams et al., 2000); increase students
confidence level (C. McDowell et al. (2003 & 2006)
); reduce staff workload (Cliburn, 2003); improve
course completion rate (C. McDowell et al., 2003;
Nagappan et al., 2003); improve performance on
exams (Mendes et al., 2005; Nagappan et al., 2003)
and increase efficiency in helping female students to
work in programming tasks (Berensen et al., 2004;
Werner et al.,2004).
An initial framework for pair programming is
discussed by Gallis. H et el in the paper [4]. Pair
programming is one of the more controversial aspects
of several Agile system development methods, in
particular eXtreme Programming (XP). Various
studies have assessed factors that either drive the
success or suggest advantages (and disadvantages) of
pair programming. In this exploratory study the
literature on pair programming is examined and
factors distilled. These factors are then compared and
contrasted with those discovered in our recent Delphi
study of pair programming. Gallis et al. (2003) have
proposed an initial framework aimed at providing a
comprehensive identification of the major factors
impacting team programming situations including
pair programming. However, this study demonstrates
that the framework should be extended to include an
additional category of factors that relate to
organizational matters. These factors will be further
refined, and used to develop and empirically evaluate
a conceptual model of pair programming (success).
The author MawarnyRejab, Mazni Omar, Mazda
Mohd, KairulBahiyaAhmed,et el described in paper
[9] Pair programming in inducing Knowledge
sharing, Proceedings of the 3rd international
conference on computing and informatics, 2011. This
paper has provided a broader view of pair
programming by illustrating an example from the
academic perspective. There is tremendous scope for
future work to consider a live scenario from the
software industry perspective. The experimental
results provided forms as basis for enhancing this
work. The same experiment can be extended to
include more parameters. The primary advantage of
PPPA is that it supports the methodology by
presenting ample evidences. In the current context,
the PPPA works fine with the existing factors
mentioned above. It can be observed that PPPA
shows a significant improvement in analyzing pair
programming techniques.

1333

International Conference on Computing and Intelligence Systems


Pages: 1332 1335

Volume: 04, Special Issue: March 2015


ISSN: 2278-2397

III. III PROPOSED FRAMEWORK


FRAMEWORK FOR PAIR PROGRAMMING
1.
2.
3.
4.

Remote (Interface)
Remote Machine(RMI Implementation)
Server (Develop-Script)
Client (Client-Script)

The proposed research work J2EE (RMI) provides a


way for a program on one machine to communicate
with objects residing in deferent JVMS. The
architecture where each of the layers can be
enhanced without effecting the other layers.
1.
2.
3.
4.

Client Layer
Remote Layer
Server Layer
Server Implementation

By exporting a remote object you make it


available to accept incoming calls from the
client.
By Export the remote object by either
extending the java RMI server
The remote object is not extended then the
implementation class is responsible for the
correct implementations, of the hash code (
), equals ( ) and to string ( ) methods.
Finally the server is given response to the
client.

Figure 1: Pair Programming Process

International Journal of Computing Algorithm (IJCOA)

1334

International Conference on Computing and Intelligence Systems


Pages: 1332 1335
Implementation Algorithm
Person 1: (interface)
Step 1: double add (double d1, double d2) creating
Person 2
Remote double add (double d1, double d2)
Step 2:
Remote implementation
Class add server implementation
To implement the remote add server implement
{
}
Step 3:
Server area
Monitoring the client request and response back to
server
If necessary
Step 4:
Client program
To make a request to server through remote and get
response from server
End
Table: 1 Survey Results
Condition
Solo
progra
m in
C++
Response
Behaviors
Accuracy
Protection
Reliability
(dependen
t)

Pair
progra
m in
J2EE

Low
Low
Low
Low
Low

High
High
High
High
High

Solo
progra
m
Results
in %
57%
68%
45%
72%
69%

Pair
progra
m
Results
in %
95%
97%
99%
87%
92%

matched with someone they have trouble working


with, most often the difficult working arrangement is
due to being paired with someone this research
focused on implemented new framework method, this
method is very needed to examine the eventual
satisfaction of programmers.
REFERENCES
[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

Comparison between
Solo and Paired
Programmers

[11]

Williams, L., Kessler, R. R., Cunningham, W., Jeffries, R.,


Strengthening the case for pair programming IEEE
software, Vol. 17, Issue 4, 2000, pp. 19-25.
Williams, L., Scott McCrickard, D., Layman, L., &
Hussein, K. Eleven guidelines for implementing pair
programming in the classroom, In Agile IEEE
Conference, 2008, pp. 445-452.
Gallis, H., Arisholm, E., &Dyba, T., An initial framework
for research on pair programming, IEEE Proceedings of
2003 International Symposium onEmpirical Software
Engineering, 2003. pp. 132-142.
Pomerleau, F., Colas, F., Siegwart, R., &Magnenat,
Comparing
ICP
variants
on
real-world
data
sets. Autonomous Robots, 2003,pp 133-148.
VanDeGrift, T. (2004, March). Coupling pair
programming and writing: learning about students'
perceptions and processes. In ACM SIGCSE Bulletin (Vol.
36, No. 1, pp. 2-6)
.Heiberg, S., Puus, U., Salumaa, P., &Seeba, A. (2003).
Pair-programming effect on developers productivity.
In Extreme Programming and Agile Processes in Software
Engineering (pp. 215-224).
Rejab, M., Omar, M., Mohd, M., & Ahmed, K. B. (2011).
Pair programming in inducing Knowledge sharing.
In Proceedings of the 3rd international conference on
computing and informatics..
Poff, M. A. (2003). Pair programming to facilitate the
training
of
newly-hired
programmers (Doctoral
dissertation, Florida Institute of Technology).
Thummalapenta, S., &Xie, T. (2007, November).
Parseweb: a programmer assistant for reusing open source
code on the web. In Proceedings of the twenty-second
IEEE/ACM international conference on Automated
software engineering (pp. 204-213).
Gallis, H., Arisholm, E., &Dyba, T. (2003, September).
An initial framework
for
research on pair
programming.In Empirical
Software
Engineering,
2003.ISESE 2003.Proceedings. 2003 International
Symposium on (pp. 132-142).
Williams, L., Krebs, W., Layman, L., Antn, A.,
&Abrahamsson, P. (2004). Toward a framework for
evaluating extreme programming. Empirical Assessment in
Software Eng.(EASE), 11-20.

IV.

(depe

Relia

Prote

Accur

Beha

Solo program
Results in %
Resp

150%
100%
50%
0%

Volume: 04, Special Issue: March 2015


ISSN: 2278-2397

Pair program
Results in %

CONCLUSION

In this research work, we conclude that pair


programming is an efficient technique in
programming, while pairing the client in sharing their
works, in the industry pair (or) collaborative
programming actually improves their job satisfaction
and over all confidence most programmers enjoy
pair-programming at time however, programmers are

International Journal of Computing Algorithm (IJCOA)

1335

S-ar putea să vă placă și