Saturday, December 28, 2019

Better America - 2590 Words

Building a Better America—One Wealth Quintile at a Time Perspectives on Psychological Science 6(1) 9–12  ª The Author(s) 2011 Reprints and permission: sagepub.com/journalsPermissions.nav DOI: 10.1177/1745691610393524 http://pps.sagepub.com Michael I. Norton1 and Dan Ariely2 1 Harvard Business School, Boston, MA, and 2Department of Psychology, Duke University, Durham, NC Abstract Disagreements about the optimal level of wealth inequality underlie policy debates ranging from taxation to welfare. We attempt to insert the desires of ‘‘regular’’ Americans into these debates, by asking a nationally representative online panel to estimate the current distribution of wealth in the United States and to ‘‘build a better†¦show more content†¦Norton, Harvard Business School, Soldiers Field Road, Boston, MA 02163, or Dan Ariely, Duke University, One Towerview Road, Durham, NC 27708 E-mail: mnorton@hbs.edu or dandan@duke.edu 10 Norton and Ariely Building a Better America Fig. 1. Relative preference among all respondents for three distributions: Sweden (upper left), an equal distribution (upper right), and the United States (bottom). Pie charts depict the percentage of wealth possessed by each quintile; for instance, in the United States, the top wealth quintile owns 84% of the total wealth, the second highest 11%, and so on. Americans Prefer Sweden For the first task, we created three unlabeled pie charts of wealth distributions, one of which depicted a perfectly equal distribution of wealth. Unbeknownst to respondents, a second distribution reflected the wealth distribution in the United States; in order to create a distribution with a level of inequality that clearly fell in between these two charts, we constructed a third pie chart from the income distribution of Sweden (Fig. 1).2 We presented respondents with the three pairwise combinations of these pie charts (in random order) and asked them to choose which nation they would rather join given a ‘‘Rawls constraint’’ for determining a just society (Rawls, 1971): ‘‘In considering this question, imagine that if you joined this nation, you would be randomly assigned to a place in theShow MoreRelatedDoes Immigration Contribute to a Better America1093 Words   |  5 PagesDoes Immigration Contribute to a Better America? Ever since this country was first discovered and settled, people from countries all over the world left their homelands and migrated to the â€Å"New World†. People from Spain, Germany, France, England and Asia traveled great distances to reach a new land of opportunity, to perhaps escape religious persecution or tyrant rulers. For centuries America has been viewed as a place for a fresh start, a place where anybody can come and begin a new life and followRead MoreCapitalism : A Better Economic System For America Essay1094 Words   |  5 PagesAmerican from 1860 into the Twenty-First Century; Recessions, Depressions, and Economic Booms Caren Chapman His 109 10/09/2015 The citizens of the United States of America experienced a plethora of economic rollercoasters throughout history. The minorities seemed to struggle the worst with racism and unemployment, but America was effected within every race, sex, and age group. Capitalism within our government has made several improvements throughout the years, but has also caused a fair shareRead MoreEssay on Diversifying Education for the Better America1844 Words   |  8 PagesDiversifying Education for the Better America America has been known to be a melting pot of different people from all kinds of cultures, ethnicities and backgrounds. No matter where you go, you are always surrounded by all walks of life and from those people, we have learned a lot. They have helped to shape who we are as Americans and what we stand for. Which is, that we strive and thrive on the cultural differences that are all around us. When the canon fails to include their points of viewRead MoreDoes Immigration Contribute to a Better America Essays770 Words   |  4 PagesDoes Immigration Contribute to a Better America? â€Å"Give me your tired, your poor, your huddled masses yearning to breathe free, the wretched refuse of your teeming shore. Send these, the homeless, tempest-tossed to me; I lift my lamp beside the golden door! American Jewish poet, Emma Lazarus, wrote the sonnet entitled â€Å"The New Colossus† which, today is engraved on a bronze plaque and mounted inside the Statue of Liberty. The message portrayed by Lazarus’s poem is to the millions of immigrantsRead MoreObesity : Better Policies For A Healthier America 20151319 Words   |  6 PagesAccording to The State of Obesity: Better Policies for a Healthier America 2015, a report from Trust for America’s Health and the Robert Wood Johnson Foundation, obesity is defined as â€Å"an excessively high amount of body fat . . . in relation to lean body mass.† Body Mass Index (BMI), while not a diagnostic tool for children or measurement of body fat directly, is an indicator of body fatness and is used to assess whether a person is overweight or obese (as well as normal or underweight). BMI differsRead MoreObesity America Be Regulated By Better Food Prices?1869 Words   |  8 PagesCould Obesity in America Be Regulated b y Better Food Prices? Obesity is a continuing problem in the American society. Obesity, occurs when, the amount of energy taken is more than the energy released (Abraham 237). The growing obesity rates could be slightly declined by the availability of more affordable, healthier foods and the decline of these temporary quick fit diets, many Americans put themselves on as a means to get fit. The opposing viewpoint may suggest that obesity can be fixed simply byRead MoreAmerica Needs Better Funding For The Safety Net Programs1644 Words   |  7 PagesAmerica, where the famous so-called â€Å"American Dream† was born, used to be the most influential nation in the world economy. However, since the Second World War, America’s economy has been in a free-fall. The â€Å"American Dream† is now only a remnant of long lost heydays. The reason why America has gotten to this dreadful situation may lie in the path that its government chose to develop. For instance, the truly needy do not have enou gh support from the Social Safety Net programs to get out of poverty:Read MoreHow Can America Become A Better Immigrant Nation?1245 Words   |  5 PagesHow Can America Become a Better Immigrant Nation Again? It has become evident to many that the American economy is declining in recent years. Journalists are pointing out that one of the reasons why it got weaker is due to a failed immigration system and outdated policies towards illegal immigrants. For instance, Fareed Zakaria from Time magazine says, although America was once considered an example to many other immigrant nations, it is now falling behind some of them in terms of immigration-relatedRead MoreAmerica Needs A Better System of Gun Control Essay1630 Words   |  7 Pagesundertaking this complex process legally. With a perfected system of obtainment, the mass killings and crime that fill our nation with sorrow and grief can be reduced greatly. The reason why there are several gun-related incidents in America is for the simple fact that America is the most well-armed nation in the world. American citizens, alone, own about 270 million of the worlds 875 million firearms. Another report stated that the United States has 90 guns for every 100 citizens (Macinnis 2007). AsRead MoreNorway Treats Its Citizens Better Than The U.s. America2072 Words   |  9 PagesPaper Title Thesis: Norway treats its citizens better than the U.S. America, a compilation of 50 states expanding about 2,680 miles from East to West. Moving far to the East we can meet the big apple, the American dream, New York. Its gray stone buildings towering high above all underfoot, its inner streets lined with large screens as colorful images belonging to several different adds dash across them, some bright neon swirls wriggling across the screen as an invitation to try these new brightly

Friday, December 20, 2019

The Success Of An Organization - 994 Words

The success of an organization is driven by the employees. Leaders have to be able to deliver their vision and work with their teams to achieve those goals. It has been proven that teams deliver better results than individual employees, therefore, leaders must work with their teams to ensure that they develop properly and mature over time. To make sure a team develops properly, leaders must follow the stages of team development which are: forming, storming, norming, and performing (Abudi, 2010). Device Products Unlimited (DPU) has been in business for about thirty years. Recently, the quality control team identified many mistakes that keep happening in the manufacturing and production division. Thomas, the CEO, decided to divide the production division into production teams. The teams will be formed by four mechanics, two engineers, and a team leader to guide the team. Thomas’s goal is for the smaller teams to be more focused on their specific functions and responsibilities, consequently minimizing the amount of mistakes. One of the problems DPU could be facing is the lack of team collaboration due to the increasingly unstable and competitive socioeconomic environment (Boughzala, de Vreede, 2015). Organizations highly depend on team collaboration to succeed since teams have to work together to create the value that cannot be achieved individually (Boughzala, de Vreede, 2015). If the quality of the team collaboration is affected, the results will have a negative impactShow MoreRelatedThe Success Of An Organization1360 Words   |  6 PagesThe success of any organization can typically assessed by the financial figures that estimate the expense and income generated yearly. Most analysts place a tremendous importance on Earnings generated by a business. It is usually the earnings that motivate the value of stocks. Managers are therefore constantly under relentless demand to keep the profits rising to keep stockholders content and avoid takeover attempts. Cost is, therefore, a significant interest as to p-level directors, who are regularlyRead MoreThe Success Of An Organization1159 Words   |  5 PagesThe success of an organization depends greatly on effective roles of management. Vital roles of management include effective planning, expert organization, exceptional leadership and the ability to control and maintain an efficient productive environment. Mangers must be conscious of the organizations culture due to constant changes in the external, internal and global environments in which they serve. A manager’s ability to effectively carryout essential managerial tasks depends heavily on an organization’sRead MoreThe Success Of An Organization1853 Words   |  8 PagesThe success of an organization is highly influenced by the capabilities of the manager in charge. Managers have become the backbone of any successful company since they understand the needs of the company and can bring new ideas to upper management. Although, the manager does play a huge role in the organizations success it is also up to the organization to properly train their managers. Poor training can lead to hostile work environments as well as a lack of communication between the employees andRead MoreThe Success Of An Organization1646 Words   |  7 Pages The success of an organisation includes the use of unique strategies and effective decision-making to promote the business effectively which increased the growth of the company to the industry and economy. Through competition, companies have gained advantages to outgrow their product by using strategic plans and critical decision-making which leads to attracting as many consumers as possible than their competitors. Organisations compute the success of the company in unique ways and varies from differentRead MoreThe Success Of A Healthcare Organization835 Words   |  4 PagesThe success of a healthcare organization is governed by the many qualities and attributes its leaders possess when overseeing patient care. Such care, whether executed at the micro, meso, or macro level, can be beneficial to an organization or result in the failure when change is inappropriately addressed. Leaders, by using their knowledge and expertise, must promote care throughout all the numerous levels of ma nagement that is a replication of bureaucratic thoughts and principles or one that isRead MoreOrganizational Success : An Organization963 Words   |  4 Pageshas been institutionalized in today’s society regarding organizational success. For a company to excel, it must strive to grow at all cost. In the short run this is applicable, however in the long run the concept of growth can lead to a decline. To remain competitive within in the market, it is essential that the company strategically plans this expansion without omitting any of the primary or secondary entities of an organization. Knowing how to manage growth, whilst standing by initial official goalsRead MoreEssential For Their Success : An Organization2874 Words   |  12 Pagestheir success. Skilled managers or leaders have the ability to read situations from different perspectives in order to understand and manage an organization. This art of reading and understanding organizational life are based on different t heories of metaphors that enable management and organization to improve productivity. Organizational life is explored in the form of different metaphors and these metaphors would further explain how management can see, understand and manage organizations in a moreRead MoreThe Behavior And Success Of An Organization2140 Words   |  9 PagesThe behavior and success of an organization is fluid and requires looking at its characteristics in a variety of ways. Managers and leaders must be flexible and willing to adjust and change as situations and environment change. Bolman and Deal (2008) have identified four frames that an organization’s leaders can use to strategize in taking the organization from one level to the next, while still remaining true to its employees, mission and values. These frames are: Structural, Human ResourcesRead MoreAn Organization s Success And Competitiveness1319 Words   |  6 PagesA motivated workforce is an important aspect of an organization s success and competitiveness in an industry: however, I find that companies are going to realize that keeping a workforce motivated will not be an easy challenge. Furthermore, every employee in an organization is different and not all employees are as motivated or driven as their peers. The challenge for organizations is to figure out what employees want and value because not every employee values the same concepts. First, I’ve learnedRead MoreCritical Success Factors Of An Organization1238 Words   |  5 PagesCritical success factors are generally essential activities or elements that allow an organization to achieve its objectives and for current and future operations. Some of the critical success factors of business could be as follows: †¢ Reductions in employee turnover and increase in employee retention. †¢ Increasing satisfaction percentage in employee engagement survey. †¢ Improved ratings for training and development. †¢ Increase revenue per man-hour †¢ Improved performance appraisal system by KPI

Wednesday, December 11, 2019

Separation of Three Compounds by Extraction free essay sample

Separation of Three Compounds by Extraction Introduction: The purpose of this experiment is do demonstrate the proper procedures of extraction and to develop a practical understanding of this method. In this experiment, extraction is used to separate a known acid, base, and neural compound from each other. The first two compounds undergo proton transfer reactions in the presence of acids or bases. Acids RCOOH, like benzoic acid, was deprotonated to form RCOO-. Bases RNH2, like ethyl 4-aminobenzoate are protonated to form RHN3+. Once the compounds separated into either the aqueous or organic layers, neutralizing the aqueous solution reverses the proton transfer. The major reaction mechanisms are shown below: Results: The results for this experiment are summarized in the data table below. Compound| Real Comp. | Obs. Comp. | Actual Yield| Theoretical Ratio| Obs. Ratio| Obs. m. p. | Physical Appearance| Ethyl 4-aminobenzoate| . 233g| . 2093| 89%| 30%| 20%| 89 Â ° C| Off white appearance; powdery| Benzoic Acid| . 233g| . 243| 104%| 30%| 20%| 125 Â ° C| Clear crystals| 9-fluorenone| . We will write a custom essay sample on Separation of Three Compounds by Extraction or any similar topic specifically for you Do Not WasteYour Time HIRE WRITER Only 13.90 / page 11g| . 623| 200%| 40%| 60%| 82 Â ° C| Yellow, filmy,flakes| Discussion: Based on the results, the most accurate extraction achieved was the first compound, ethyl 4-aminobenzoate. With an 89% actual yield of the compound, a 3rd or 4th extraction would acid would have yielded more compound, since several extractions with small amounts is more efficient than one extraction with a larger amount. During the first extraction of benzoic acid with NaOH, it was noticeably hard to distinguish the aqueous and ether layer because both were yellow. Since 9-fluorenone is soluble in both the aqueous and organic solutions, it is possible for some of this compound to be present in the aqueous layer. In the second extraction, however, the two layers were clearly defined, and there was not as much 9-fluorenone in the aqueous layer, due to the fact that the addition of more base to the aqueous layer resulted in a more polarized solution, and the solubility of 9-fluorenone in water decreased. The initial presence of 9-fluorenone in the aqueous layer explains why the observed mass was greater than expected; solid 9-fluorenone was present along with the benzoic acid crystals after the crystals were dried. The weighing scale used could potentially account for the large error in our observed mass of 9-fluorenone. If anything, the observed mass was expected to be less than the real composition, since some of the mass was present with the benzoic acid crystals. The tested melting points for all three compounds correspond with their literature value or range. The accuracy of the measurement for 9-fluorenone might be compromised, since the melting point had to be re-measured with an already heated device, causing 9-fluorenone to melt almost instantly. In the experiment, the most efficient extraction occurred when smaller amounts of the acids and bases were added to the solution multiple times, as demonstrated by our second extraction of benzoic acid contaminated with 9-fluorenone. Due to the molecular geometry of the atoms involved in forming benzoic acid, the compound formed crystals, as expected. Conclusions: In conclusion, the extraction method was used to separate unknown masses of ethyl 4-aminobenzoate, benzoic acid, and 9-fluorenone using strong acids and bases. Through empirical evidence, several extractions with smaller amounts of solvent are more efficient than 1 extraction with larger amounts of solvent.

Wednesday, December 4, 2019

Change and continuity free essay sample

They are able to figure out the wind and monsoon patterns. Mediterranean sailors use square sails, long banks of oars, ships are nailed together. Indian Ocean sailors use triangular sails, no oars, and tied ships. Impact: Africa provides exotic animals, wood, and ivory. Somalia and Southern Arabia provide frankincense and myrrh. Less valuable than Mediterranean Sea. Isolate ports that lack fresh water. In 1200 The rising prosperity of Asian, Euroopean, and African states stimulate the expansion of trae in the Indian Ocean. Luxuries for the wealthy-precious metals and jewls, rare spices, fine textiles, and other manufactures. Contstruction of larger ships makes shipments of buk cargoes of ordinary cotton textiles, pepper, food grans (rice, wheat, barley), timber horses, and other goods profitable. Collapse of the mongol empire- disrupts overland trade routes across Central Asia, the Indian Ocean routes assumed greater strataegic importance in tying together the peoples of Eurasia and Africa. 1200-1500 Dhow is a cargo and passenger ship of the Arabian sea. We will write a custom essay sample on Change and continuity or any similar topic specifically for you Do Not WasteYour Time HIRE WRITER Only 13.90 / page They all have a hull construction. The hulls consist of planks that were sewn together, not nailed. Cord made of fiber from the husk of coconuts or other materials was passed through rows of holed drilled in the planks. Marco Polo fancifully suggested that it in dictated sailors’ fear that large ocean magnets would pull any nails out of their ships. The second distinctive feature of the dhows was their trianglular (lateen) sails made of palm leaves or cotton. The sails were suspended from tall masts and could be turned to catch the wind. Junk is the largest and most technologically advancd and most seaworth vessel of this time. Developed in china. Built from spruce or fir planks held toether by massive nails. The space below the deck was dived into watertight comspace below the deck was dived into watertight compartments to minimize floodin g in case of damage to the ship’s hull. Ibn Battuta, the largest junks have twelve sails made of bamboo and carried a crew of a thousand men. A large junk might have up to a hundred passenger cabins and could carry a cargo of over 1,000 tons. Trade is decentralized and cooperative. Comercial interest, rather than political authorities, tied several distinct regional networks together. Indian Ocean Use predictable monsoon winds and dhows. Islam gives Indian Ocean trade a boost. They provide a demand for resources and tie the region together. Operates independently of states. Ming dynasty does get involved. 1405-1433 Voyages of Zheng He Commands expeditions of the Ming dynasty. He is a Chinese Muslim with ancestral connection in the Persian Gulf. 1497-1498 Vasco da Gama reaches India Sailed around Africa and reached India. He becomes suspicious of the Muslim rulers intentions. His arrival in India leaves a bad impression on Calicut-the ruler of Calicut is not interested. 1505 Portuguese bombard Swahili Coast cities 1510 Portuguese take Goa Portuguese take Malacca Focus of attention after India. It is the 15th century’s main entrepot (a place where goods are stored and then distributed from. ) 1515 Portuguese take Hormuz 1535 Portuguese take Diu 1538 Portuguese defeat Ottoman fleet 1539 Portuguese aid Ethiopia Indian Ocean Trade vs. Trade in the Americas The reason that the Indian Ocean region prospered while the Ottoman, Safavid, and Mughal Empires declined was because trade via the sea was a huge asset that none of these empires had (Safavid had minor ports but not enough to compete with European and New World countries. The innovation that was occurring between ship design, navigation, and cannons gave Europe a massive advantage. The Joint-stock exchange also causes these empires to fall behind in trade. Although the majority of sea traders were European, the majority of non-European traders were Islamic. The main reason that the empires fell in standing of the world is because they were strongly land based and simply did not have the resources to convert so much time and resources to the development that would have been needed to compete in the Indian Ocean trade network.

Thursday, November 28, 2019

What Is True Love Essay Example For Students

What Is True Love? Essay Rough DraftBrooke Gladstone5/17/2000Period #3What is true love?The quality of true love is highly debated among different people. Some peoplebelieve true love relies on rules or that it simply does not exist. However, true love is anunconditional love between two people, when two people love each other for whothey are. In Charles Dickens novel Great Expectations there are many differentsituations where true love become relevant. First of all, there is a gentle giant by the name of Joe is Great Expectations. He isPips brother-in-law. Joe is a very peaceful man, but by looking at him you would bescared. He is a very large man and the blacksmith of the town. In the beginning of thebook he is married to Mrs. Joe Gargery (Pips sister). Joe loves Mrs. Joe very much, andin the book he states that she is a, Fine figure of a woman, (Dickens, pp. ). In a scenein the novel he discusses with Pip how he is happy with his life, but on the opposite Mrs. We will write a custom essay on What Is True Love? specifically for you for only $16.38 $13.9/page Order now Joe is not exactly on the same term. She is very unhappy with her life, and she believesthat she deserves better than Joe, or a blacksmith. Dickens portrays Mrs. Joe as abitter woman, but the audience can see the love she has for Joe, even if she is notsatisfied with her marriage to Joe. At a later time in the book Mrs. Joe sadly passes away, and you can feel thesadness Joe has towards her death. A few years later he marries Biddy. Biddy hasalways been around the family to help in the house while Mrs. Joe was sick. Thefriendship between Joe and Biddy eventually became a loving relationship and Joepurposed to her. Obviously Joe may had loved Mrs. Joe very dearly, but he shortlyrecovered from his lost and married Biddy. Mr. Pocket, Pips roommate, is a friendly man whom Pip meets while he moves toLondon. Mr. Pocket is very proper and teaches Pip about posture, manners, and eatinghabits. Mr. Pocket proposes to a lady named Clara. Pocket describes Clara as a gentle,kind lady who he is in love with. He talks of her much in Pip and his conversations. Itseems as if he loves her very much, but their relationship has just begun and their love isstill growing towards each other. The audience may not feel the love between the twoas much as other relationships. On the other hand, Miss Havashams relationship with her fiancee was horrid. Itturned out to be a terrible nightmare. Compeyson was Miss Havashams fiancee wholeft her at the altar. Miss Havasham dreads this day in the novel. Pip visits Satis Houseand she is wearing her wedding dress, she has the wedding cake on the dining roomtable, and the clock is stopped at the time she was left at the altar. It is obvious that sheloved Compeyson very much, but doing what he did she now hates men. Because ofthis she raises Estella to hate men and torture them. Estella tells Pip later in the book howshe wouldnt want to marry Pip because she doesnt want to hurt him. Finally, Pips relationship with Estella. Although there is no such thing, Pip lovedEstella very much. Above true love is described as an unconditional love between twopeople, so according to that definition this relationship would not be considered truelove. Pip has a very strong and indescribable love towards Estella, but the passion is notreturned. Estella plays with Pip as if he is a yo-yo. One moment she mentions somethingthat may make Pip believe that she does love him, and another she is upset with him forthinking she admired him. .ufc76435d5cdd4c444fb1e020b698219e , .ufc76435d5cdd4c444fb1e020b698219e .postImageUrl , .ufc76435d5cdd4c444fb1e020b698219e .centered-text-area { min-height: 80px; position: relative; } .ufc76435d5cdd4c444fb1e020b698219e , .ufc76435d5cdd4c444fb1e020b698219e:hover , .ufc76435d5cdd4c444fb1e020b698219e:visited , .ufc76435d5cdd4c444fb1e020b698219e:active { border:0!important; } .ufc76435d5cdd4c444fb1e020b698219e .clearfix:after { content: ""; display: table; clear: both; } .ufc76435d5cdd4c444fb1e020b698219e { display: block; transition: background-color 250ms; webkit-transition: background-color 250ms; width: 100%; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #95A5A6; } .ufc76435d5cdd4c444fb1e020b698219e:active , .ufc76435d5cdd4c444fb1e020b698219e:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #2C3E50; } .ufc76435d5cdd4c444fb1e020b698219e .centered-text-area { width: 100%; position: relative ; } .ufc76435d5cdd4c444fb1e020b698219e .ctaText { border-bottom: 0 solid #fff; color: #2980B9; font-size: 16px; font-weight: bold; margin: 0; padding: 0; text-decoration: underline; } .ufc76435d5cdd4c444fb1e020b698219e .postTitle { color: #FFFFFF; font-size: 16px; font-weight: 600; margin: 0; padding: 0; width: 100%; } .ufc76435d5cdd4c444fb1e020b698219e .ctaButton { background-color: #7F8C8D!important; color: #2980B9; border: none; border-radius: 3px; box-shadow: none; font-size: 14px; font-weight: bold; line-height: 26px; moz-border-radius: 3px; text-align: center; text-decoration: none; text-shadow: none; width: 80px; min-height: 80px; background: url(https://artscolumbia.org/wp-content/plugins/intelly-related-posts/assets/images/simple-arrow.png)no-repeat; position: absolute; right: 0; top: 0; } .ufc76435d5cdd4c444fb1e020b698219e:hover .ctaButton { background-color: #34495E!important; } .ufc76435d5cdd4c444fb1e020b698219e .centered-text { display: table; height: 80px; padding-left : 18px; top: 0; } .ufc76435d5cdd4c444fb1e020b698219e .ufc76435d5cdd4c444fb1e020b698219e-content { display: table-cell; margin: 0; padding: 0; padding-right: 108px; position: relative; vertical-align: middle; width: 100%; } .ufc76435d5cdd4c444fb1e020b698219e:after { content: ""; display: block; clear: both; } READ: Buddha EssayIn conclusion, true love is perceived many different ways. In the novel GreatExpectations there are many different relationships which display different levels of loveand romance. There is a relationship where one of the members passed away, anotherwhere the relationship is so young the love has not blossomed and two relationshipswhere the love is not returned from the other member of the relationship. All in all,Charles Dickens never places a relationship where true love is evident. BibliographynoneBook Reports

Sunday, November 24, 2019

Structural Metaphor - Definition and Examples

Structural Metaphor s A structural metaphor is a  metaphorical system in which one complex concept (typically abstract) is presented in terms of some other (usually more concrete) concept. A structural metaphor need not be explicitly articulated or defined, according to John Goss, but it operates as a guide to meaning and action in the discursive context within which it operates (Marketing the New Marketing in Ground Truth, 1995). Structural metaphor is one of the three overlapping categories of conceptual metaphors identified by George Lakoff and Mark Johnson in Metaphors We Live By (1980). (The other two categories are orientational metaphor and ontological metaphor.) Each individual  structural metaphor is  internally consistent, say Lakoff and Johnson, and it imposes a consistent structure on the concept it structures. Examples and Observations ARGUMENT IS WAR is an example of a structural metaphor. According to Lakoff and Johnson, structural metaphors are cases where one concept is metaphorically structured in terms of another (1980/ 2003:14). Source domains provide frameworks for target domains: these determine the ways in which we think and talk about the entities and activities to which the target domains refer and even the ways in which we behave or carry out activities, as in the case of argument. (M. Knowles and R. Moon, Introducing Metaphor. Routledge, 2006) The War Metaphor In the structural metaphor ECONOMIC ACTIVITY WAR, concepts from the source domain WARFARE are transferred to the target domain, because physical conflict is ubiquitous in human life and therefore quite well-structured and more readily understandable. It coherently structures the relations between the various factors in economic activity: business is war; the economy is a battlefield; competitors are warriors or even armies fighting each other, and economic activities are conceptualized in terms of attack and defense, as illustrated in the following example: As a result of the crisis, the Asians will strike back; they will launch an export offensive. (Wall Street Journal, June 22, 1998, 4) The WAR metaphor is realized in the following schemata: ATTACK and DEFENSE as causes and WIN/LOSE as the result: successful attack and defense result in victory; unsuccessful attack and defense result in loss . . ..(Susanne Richardt, Expert and Common-Sense Reasoning. Text, Context, Concepts, ed. by C. Zelinsky-Wibbelt. Walter de Gruyter, 2003) Labor and Time as Metaphors Let us now consider other structural metaphors that are important in our lives: LABOR IS A RESOURCE and TIME IS A RESOURCE. Both of these metaphors are culturally grounded in our experience with material resources. Material resources are typically raw materials or sources of fuel. Both are viewed as serving purposeful ends. Fuel may be used for heating, transportation, or the energy used in producing a finished product. Raw materials typically go directly into products. In both cases, the material resources can be quantified and given a value. In both cases, it is the kind of material as opposed to the particular piece or quantity of it that is important for achieving the purpose...When we are living by the metaphors LABOR IS A RESOURCE and TIME IS A RESOURCE, as we do in our culture, we tend not to see them as metaphors at all. But . . . both are structural metaphors that are basic to Western industrial societies.​  (George Lakoff and Mark Johnson, Metaphors We Live By. The University of Chicago Press, 1980)

Thursday, November 21, 2019

Does the modern day target driven fire and rescue service need better Essay

Does the modern day target driven fire and rescue service need better management or does leadership provide the solution - Essay Example Several theories are explained in detail and related to the FRS to gauge which theory bets applies for the improvement of the operational system. Among these theories are trait, behavioral, contingency, constellation, participative, management, relationship, path-goal theory, action-centered leadership and the leadership grid. These theories prove that some of them are not applicable while some are in the given situation the analysis and discussion point out that management by objective can only be successful when there is leadership and thus both have to be implemented simultaneously. Towards the end recommendations have been given as to how the leadership can be improved with the goal oriented management. the private sector today is undergoing immense change with downsizing and greater work responsibility in their management systems. This according to Grint (2005) is because the people expect more for less and the same expectation has paved its way into the public sectors also where the people expect organizations like the fire department to provide more from the limited resources. To fulfill this demand, the fire departments have been undergoing drastic changes. This as George (2003) explains has become essential in order to be efficient and competitive in the market place. To suffice the demand of the people, and be according to the way the people want the department to be, the government has realized that the management system has to be adjusted so that the changing needs of the people may be met. At the same time, adds Taylor (2009) with the recession, the costs are increasing, people are paying fewer taxes and thus the fire department has a lower budget to work with and therefor e it requires to be more efficient and to maximize the use of its resources. The fire department has always been managed with the rank-based management system. However, the government wants to change

Wednesday, November 20, 2019

Critical Reflection Pieces Essay Example | Topics and Well Written Essays - 750 words

Critical Reflection Pieces - Essay Example Good theories predict the unknown. After reading the Cybernetic in the Dialectic between Science and Design, it was realized that the perspective of the designers and the scientists was different. The Scientists based their arguments on observations, while the designers based their arguments on innovations. The designers created something that is yet to be observed and measured. Additionally, the scientists celebrated the aspect of generalization for instance on abstract theories, the designers on the other hand proposed artifacts that must result to operating in their details rather than their abstract. Reflecting on the content of the paper, the scientists insisted on the causal explanations. They excluded themselves from the causes of phenomena that they explored. The designers intended to cause something out of their own actions. The contrast between the designers and the scientists was evident. For this reason, the author adopted a less philosophical commitment in defining the term cybernetics. Based on his defi nition, he termed it as study of the possible systems, which resides on what that cannot be build or evolved in nature. Therefore, majority of the authors work is characterized as exploring the difference between innovation and observation (Krippendorff, 2007). After reading the 2nd order Cybernetics and Human-Centeredness, it can be reflected that the section only mentioned artifacts but not objects. The artifacts arose in the coordination of sensory motor as they are developed by those accounted and involved for their deeds under conditions with reliable interactions. For this reason, what people normally call objects can also be artifacts because they are also crafted skillfully. Artifacts might come from designing a material through recognition and in interfaces, which can be differentiated based on their interactivity. According to their interactions, it can be said that the meaning are less subjective.

Sunday, November 17, 2019

United States Managed care organizations Essay Example | Topics and Well Written Essays - 750 words

United States Managed care organizations - Essay Example Despite the federal government having some public funds to compensate the public on sickness and death, there lacked public programs and legislations that would facilitate the realization of these efforts by the government. The raising concerns of wage loss were because of failure to be paid in the event of illness. This led to the introduction of insurance schemes (sickness funds) to cover against loss of wages due to illnesses by workers. There arose evolutionist reformers in the progressive era of the early 20th century whose motives were to address social concerns especially for the working group (Palmer para 4-5). The efforts of the reformers received great support by the government of Roosevelt who equally highly esteemed the health of the people. The early period of the century, saw combined efforts by the AMA (American Medical Association) and the AALL (American Association of Labor Legislation) design and formulate legislations and health care bills that were meant for effec ting the universal accessibility of health care to the U.S citizens. Shortly after these moves, the reformers introduced the concept of cost of illness as against concentrating on the lost wages through which they brought about the concept of ‘sickness’ insurance. Health sector regulations were not left behind as well in the reforms with the end of great depression (1935) marking the introduction of social security act. The great depression had serious implication to every American as well as the various departments such as the health care sector with general low finances in circulation within the entire economy. This therefore encouraged the insurance sector to introduce the medical covers through which medical expenses to the public would be easily met. Latter on some employers took to their role to provide health care to their employee, which equally marked great steps. By the mid century, over two thirds of the U.S citizens enjoyed some form of medical coverage over the private insurance schemes. However, the achievement of compulsory national health insurance as were the efforts of the reformers failed due to the opposition s that resulted from the doctors, business, insurance sector as well as some labor groups. However, by the year 1965, great steps had been taken within the sector and there was assenting to the legislation to universal health care in the United States (Palmer para 16-20). According to a brief by the Maine Health Access Foundation, the last thirty years have seen great efforts by the state government to improve on the accessibility of health care support through insurance especially to the uninsured. Notable efforts and progress has actually been experienced in three leading states in the efforts of reforming the health sector; Vermont, Massachusetts and Maine. The states have undertaken multiple roles in the health care provision system of America by serving as a regulator, administrator and a purchaser among other roles. The comprehensive health care reform has been a great phenomenon to be implemented within many of the U.S states. The guiding factor to these notable reforms has been to provide universal, quality and affordable services in health care to all her citizens. Therefore, individual states have been responsible in developing and

Friday, November 15, 2019

Characteristics of Java Language

Characteristics of Java Language Chapter 2 Literature review About Java:- Initially java language is named as Oak in 1991, which is designed for the consumer electronic appliances. Later in 1995 the name was changed to Java. Java was developed by James Gosling, a development leader in sun micro system. Oak was redesigned in 1995 and changed the name to java for the development of the applications which can be run over internet. Using the java language, java programs can be embedded in to the html pages. Java is not only limited for the web applications, it is also useful to develop the stand alone applications. Java has a feature called OOPs, which make it more familiar. Object oriented programming replaced the old traditional techniques i.e. procedural programming. Characteristics of java:- Simple:- Java language is simple than the previous languages such as c and c++. Java eliminates the pointers concept which is earlier present in c and c++. Java also has a properties i.e. automatic allocation of memory and garbage collection, where as in c/c++ the garbage collection and allocation of memory will be done by the programmer which is a complex task. Object oriented:- All the programming languages apart from the c++ are procedural languages which are paradigm of procedures. Java programming language is object oriented because java uses the concept of the object. In java everything will depend on objects i.e. creating the objects and making objects to work together. The overall functionality of the high level program will depends on the objects. Because java is object oriented program it provides great range of reusability, modularity and flexibility. Distributed:- Java uses the http and ftp which are internet protocols, in order to have access the files over the network. So by using this libraries which are in java can easily make file transfers over the network which is connected to internet. Interpreted:- In order to run the java programs we need interpreter. When the java programs are compiled it produces the byte code, which is machine understandable language. The byte code which is produced after the compilation is machine independent, so that it can run on any system using java interpreter. Most of the compilers will convert the high level language instructions to the low-level machine understandable language as machine cant understand the high level instruction. The machine code can only be executed on that compiled native machine. For example a source code is compile on windows platform, the executable file produced after cant be executed on other platforms apart from the windows. But, coming to java it is different i.e. the source code is compiled once and the executable byte code can be run on any platform using java interpreter. The main functionality of the interpreter is, it converts the byte code to the machine language of the target machine. Robust and secure:- Java programming is more reliable. At the time of the execution time java shows all the errors. In java bad and error prone language constructs are eliminated. Java eliminated the concepts such as pointers, due to this there is no corruption of data and overwriting the memory locations. In the same way java supports the exception-handling, which makes java more reliable and robust. Java forces the programmer to write the code for the exceptions, which may occur during the execution of the program. So that program can be terminated successfully, without any error stopping the execution flow of the program. Java also provides the lot of security. Security is important over the network because the computer will be attacked by the external program. Java provides the security that; it encounters the applets for the un-trusted sources. Architecture- neutral:- Java is a interpreted language, which enables java as a architectural neutral i.e. platform independent. We can write the program once and it can be executed on any platform with the help of the Java Virtual Machine (JVM). The java virtual machine can be embedded on the operating system or on web browser. Once the part of the java code is loaded into the machine, it is verified. Byte code verification play a major role, as it check all the code generated by the compiler will not corrupt the machine on which the code is loaded. At the end of the compilation, byte code verification will be done; in order to make sure thats the code is accurate and correct. So the byte code verification is the integral to the compilation and execution. Due to the property of architectural neutral had by java, it is portable. The program once written can be run on any platform without recompilation. Java does not provide any platform specific features. In other languages, such as Ada where the large integer varies according to the platform it runs. But in the case of java the range of the numbers are fixed. Java environment is portal to every operating system and hardware. Multi-threaded:- It is defined as the programs ability to perform several tasks (or) functions simultaneously. The multithreading property is embedded in the java program. Using the java programs we can perform the several tasks simultaneously without calling any procedures of the operating system, which is done by the other programming languages in order to perform the multi-threading. Constant Pool:- Every program i.e. class in java, has a array of constants in the heap memory called as the constant pool, which is available to that class. Usually it is created by the java compiler. The constants encode all the name of the (methods, variables and constant that are presented in the constant pool) which is used by particular method of any class. Each individual class i.e. stored in heap memory has a count of how many constants are there and also has offset which specifies how far in to the class description itself the array of constants begins (Laura Lemay, Charles L.Perkins, and Micheal Morrison, n.d). The constants are represented (or) typed in the special coded bytes and which has a very well defined format, when these constants are appeared in the .class file for the java class file. JVM instructions refer to the symbolic information in java, rather than relying on the run time layouts of the class, methods and fields. Sun Java Wireless Toolkit:- Sun java wireless toolkit CLDC (connected Limited Device Configuration) is a group of tools which is used to develop the applications for the mobiles and for other wireless equipments (or) devices. Although the sun java wireless toolkit is based on the MIDP (Mobile Information Device Profile), it also supports many other optional packages, which make a sun java wireless toolkit as a great tool for developing many applications. It can be supported on the windows and Linux. All the users who have account on the host machine can access this tool either singly or simultaneously. It allows you to use a byte code obfuscator to reduce the size of your MIDlet suite JAR file. It also supports many other standard Application Programming Interfaces (APIs) which are defined by the (JCP) Java Community Process program. Even though, the sun java wireless toolkit did not come up with an obfuscator, it is configured in a way that it supports the ProGaurd. All you need to do is, just simply to download the ProGuard and place it in the system, which sun java wireless tool kit can find it. But due to the flexible nature of the tool, it allows any kind of the obfuscator. BCEL:- BCEL full abbreviation is Byte Code Engineering library. The BCEL helps you to dig the byte code of the java classes. BCEL gives the utmost power on the code because it works at the individual JVM instructions, even though the power comes with cost in complexity. Using the BCEL, we can transform the existing classes transformation or we can construct the new classes. The main difference between the BCEL and Javassist is javassist provides the source code interface where as the BCEL is developed in the intension to work at the level of the JVM assembly language. BCEL is good because the approach it uses is low level, which is very helpful to control the program at the instruction level. Compared to Javassist it is more complex to work with the BCEL. BCEL has the capability to inspect, to edit and to create binary classes in java. There are 2 hierarchy components in the BCEL, in which one component is used to create the new code and the other component is used to edit (or) update the existing code. The inspection of the class aspect in the BCEL mainly deals with the duplication whatever available in the java platform using the Reflection API. This duplication is necessary (or) mandatory in classworking because we generally dont want to load the classes on which we are working until they are modified fully. Org.apache.bcel.classfile package provides all the definition which is related to inspection-related code.org.apache.bcel package provides the basic constant definitions. JavaClass is a class which is the starting point of the package. The JavaClass plays a role in accessing the information of the class using the BCEL same as like java,lang.Class does using the regular reflection in java. The JavaClass has a methods to get the information like structural information about the super classes and interfaces, to get the information of the class i.e. information about the field and methods in the class. The JavaClass will provide access to the some internal information about the class, including constant pool and identifiers. It also represents the Byte stream which is the complete binary class representation. If the actual binary class is parcel, then we can create the instance for the JavaClass. To handle the parsing BCEL provides a class called org.apache.bcel.Respository. The representation of the classes are parsed and cached by the BCEL by default, which are on the JVM path, to get the actual binary classes representation from the org.apache.bcel.util.respository instance. org.apache.bcel.util.respository is an interface which is source for binary classes representations. Changing the classes:- Not only the accessing the components of class, org.apache.bcel.Classfile.JavaClass also provide certain methods, in order to provide the liberty to change (or) alter the classes. The class component can be set to the new values by using those methods. Although those are of no direct use much, because the other classes in the package dont support constructing the new versions of the components that are building. There are certain classes in the org.apache.bcel.generic package that will provide the editable versions of the same components there in the org.apache.bcel.classfile classes. Org.apache.bcel.generic.ClassGen is the starting step (or) point for the creating the new classes. This also useful to modify the existing classes, to do this one, there is a constructor that takes a JavaClass Instance in order to initialize ClassGen class information. Once you modified the changes to the class, then we get the usable (or) useful class representation from ClassGen instance, in order get the usable representation of the class, we need to call any method that returns the class called JavaClass. Later it will be converted into the binary class information. It is little bit confusing, in order to eliminate this confusion, it is better to write a wrapper class for eliminating some differences. In order to manage the construction of the various class components, org.apache.bcel.generic provides many other classes apart from the ClassGen. It has a class called ConstantPoolGen , which is used to handle the constant pool. FieldGen, MethodGen classes which are used to handle the Fields and the methods in classes. For the working with the sequence of the JVM instructions there is other class called Instruction List. org.apache.bcel.generic also provides the classes for the each and every type instructions which are executed over JVM. We can create the instance for these classes directly some times and in other times by using the helper class called org.apache.generic.InstrcutionFactory. The main advantage of this helper class is, it handles are the book keeping details of the each and every instruction constructing for us( i.e. adding the items to the constant pool as required for the instructions). Sand Mark:- Sandmark is a tool i.e. developed to measure the performance of the software protection algorithms and effectiveness of the methods that are preventing the software from the piracy issues, water tampering and reverse engineering techniques. Sandmark is also has an ability to find which algorithm is most resiliences to the attacks and have a least performance of over head. There are many software protections are proposed both in software and hardware. The hardware protections are there from the dongle protection and now tamper-proof software. The sandmark tool is developed to evaluating and implementing the software-based techniques such as code obfuscation (making code complex to understand) and water tampering. History of reverse engineering:- Reverse engineering most probably starts with Dos (disk operating system) based computer games. The aim is to have full life and armed for the player to finish the final stage of the game. In that way the technique of reverse engineering came in to picture, it is just to find the memory locations where the life and number of weapons are stored and modifying the values of that memory locations. So that, the player can changes the values and gets through the final stage and win the game. Thats why memory cheating tools such as game hack came in to existence. Reverse Engineering:- Reverse engineering is the process of the understanding the particular aspects of the program, which are listed below To identify the components of the system and the interrelationship between the components. And enhance the components of the system and to improve the performance and scalability of the system (or) subsystem. Software reverse engineering is a technique that converts a machine code of a program (string 0s and 1s usually sent to logic processor) back in to the programmable language statements which is called as source code. Software reverse engineering is done to get the source code of the program because to know how the particular parts of the program performs particular operations in order to improve the program functionality or to fix the bugs in the program or to find malicious block of statements in the software if any. Generally, this reverse engineering will take place in older industries on machines. But now it is frequently used on computer hardware and softwar e. The important contents like data formats, algorithms what the programmer used to implement the software and ideas of the programmer (or) company will be revealed to the 3rd person by violating the security and privacy issues using reverse engineering technique. Reverse engineering is evolving as a major link in the software lifecycle, but its growth is hampered by confusion (Elliot J.chilkofsky James H.Cross ii, Jan 1990). Reverse engineering is generally implemented to improve the quality of the product, to observe the competitors products. Forward engineering is the process of moving from the high level abstracts (or) from the initial requirements stage (objectives, constraints and proper solution to the problem), logical, and independent designs (specification of the solution) to the final product i.e. implementation (coding and testing).; whereas the reverse engineering is the process of moving from the final product to the initial requirements stage in order to under the system logically, why particular function (or) action is being performed. By knowing the system logically, the flaws and errors in the system can be rectified and helps to improve the systems functionality when the source code of the application is not available. For this sake the concept of the reverse engineering techniques is evolved. Fig 1: reverse engineering and related process are transformations between or within the abstract levels, represented here in terms of life cycle phases. (Elliot J.chilkofsky James H.Cross ii, Jan 1990) Reverse engineering in and of itself doesnt mean changing the subsystem or developing the new system based on the existing. It is a process of examination (or) understanding the program (or) software but not replication (or) change. Reverse engineering involves very broad range of aspects such as starting from the existing implementation, recreating or recapturing the design ideas and extracts the actual requirements of the existing system. Design recovery is the most vital subset of the reverse engineering because in which knowledge of the domain, external (or) outer side information and deduction or fuzzy reasoning are added to the investigated (or) subjected system in order to find the high level abstract of the system, normally which is not obtained by directly observing the system. According to the Ted BiggerStaff: Students Paper: Ted BiggerStaff: design recovery recreates design abstractions from a combination of code, existing design documentation(if available), personal experience, and general knowledge about problem and application domains. Design recovery must reproduce Re-engineering is termed as renovation and reclamation, is the examination and altering the subjective system again to construct in the new form and the implementation of the new system. Re-engineering involves some form of reverse engineering i.e. to obtain the high level of the abstract of the existing system followed by forward engineering. This may be changes according to the new requirements that were not previously implemented in the system. While re-engineering is not super type of the forward engineering and reverse engineering but it uses the forward engineering and reverse engineering. Objectives:- The primary goal of the reverse engineering is to enhance the overall comprehensibility of the system for the both maintenance and new development. Cope up with the complexity. In order to meet the complexity and shear volumes of the system we have to develop a better methods i.e. automated support. In order to extract the relevant information reverse engineering methods and tools should be combined with the CASE environments. So that decision makers can control the process and product in system evolutions. Alternative views should be generated. Comprehension aids such as graphic representation as been accepted for long time. However maintaining and creating them is becoming difficult in the process. Reverse engineering facilitates the generation or regeneration of the graphical representation in the other forms. While many designers work on single diagrams such as data flow diagrams where as the reverse engineering tools will give the other graphical representations such as control flow diagrams, entity relation diagrams and structure charts to aid the review and verification process. To identify the side effects. Both haphazard initial design and intentional modifications to the system can lead to unintentional ramifications and side effects that affect the system performance. Reverse engineering can provide better observation than we can observe by forward engineering perspective. So it makes us to solve that ramifications and anomalies before users intimate them as bugs. Component reuse. Software reusability is becoming the more essential part in developing the new products in the software field. Reverse engineering can be able to help to detect the candidates for reusable components from the present system. To recover the lost information. When the continuous evolution of the long lived system which will lead to loss of information. In order to preserve the old information of the system design; design recovery of reverse engineering techniques is used. Many reverse engineering tools try to extract the structure of the legacy systems with the intension to pass this information to software engineers in order to re-engineer or to reverse engineer the existing component. Code reverse engineering:- During the evolution of the software, many changes will apply to the code, to add any functionality which is to be added and to change the code in order to rectify the defect and enhance the systems performance (or) quality. Systems with the poor documentation only the code will be reliable solution to get information about the system. As a result, the process of reverse engineering is focused on understanding the code. Thus reverse engineering has good and bad ends. Obfuscation:- Java provides platform independence to the software programs so that software programs will run independently on any platform. All the programs are compiled in order get intermediate code format i.e. A class file consists of a stream of very large amount of information regarding the program methods, variable and constant enough to do reverse engineering. When a company develops the program (or) software in java and sell this product in intermediate code format to the other organization by not giving the original software. The organization who buys the program (or) software will simply change (or) modify the software by violating the security and privacy issues of authorised company; by simply applying the reverse engineering technique. This reverse engineering will be done by the software developers, automated tools and decompilers. Java byte code can be easily decompiled, which makes reverse engineering technique easier in java. In programming context Obfuscation is described as, making program code more difficult to read and understand for security and privacy purposes of the software. Decompilers can easily extract the source code from the compiled code, in that point of view protecting the code secretly will make impossible. So the growth of obfuscators increased rapidly in order to keep effectively smoke screen around the code. Code obfuscation is the one of the most prominent and best method to protect the java code securely. Code obfuscation makes program to understand difficult. So that code will be more resistant to the reverse engineering. There are 2 byte code obfuscation techniques that are: source code obfuscation byte code obfuscation Source code technique is simply changing the source code of the program, where as byte code obfuscation is changing the classfile of the program (functionality is same as the source code). There several obfuscation techniques to prevent java byte code from decompilation. For example consider a set of class files, S, becomes another set of class files S through an obfuscator. Here the set of class files of s and s are different, but they produce the same output. Example:- class OHello { public OHello() { int num=1; } public String gHello(String hname){ return hname; } when the above code is passed through the simple obfuscator (such as Klass Master), the following code will be generated. class aa { public static boolean aa; public aa() { int aa=1; } public String aa(String ba){ return ba; } By observing the above code the class name OHello is changed to the aa and the gHello method name is changed to the aa. It is more difficult to read the program with aa than a OHello. By this way less information will be interpreted and understand to the reverse engineers. This is just a simple example by renaming the class variables and class method names. Categories of obfuscation techniques:- Description of Obfuscation techniques:- One way of obfuscating the source program by the obfuscators is replacing a symbol of a class file by illegal string. The replacement might be the private are even worst ***. Other techniques usually obfuscator will use targeting the specific decompilers (Mocha and Jode) is inserting a bad instruction in the code. The example is Let us taken an example with bad instruction, lets take the original code (decompiled): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return and after obfuscation the code is as follows (names are not changed, not to make complex): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return 7 pop By observing the above routine we notice that a pop instruction is added after the return statement. The last and final statement in the method that has return type should be return statement, but in the above routine a pop keyword is inserted which make the routine not to be executed for ever. Lexical obfuscation:- Lexical obfuscation changes the lexical structure of a program by scrambling the identifiers. All the names of classes, fields and methods which are meaningful symbolic information of java program, is renamed with meaningless name i.e. useless names. An example obfuscator for lexical obfuscation is crema. Obfuscator is defined as the program that automatically makes the transformation in the classfile in order obfuscate the classfile, to undo the reverse engineering technique to produce the source code from the class file. Layout obfuscation:- Layout obfuscation dealt with changing the layout structure of the program i.e. done by 2 basic methods Renaming the identifiers Removing the debugging information. Above 2 will make program code less informative to the reverse engineers. Layout obfuscation techniques use the one way functions such renaming the identifiers by random symbols, removing the comments, unused methods and debugging information. Though the reverse engineers can understand the obfuscated code i.e. done by layout obfuscation, it consumes the cost of reverse engineering. Layout obfuscation techniques are most commonly used in the code obfuscation. All most all obfuscators of java will use these techniques. Control obfuscation:- Changing the control flow of the program. It is easiest way to do and which make reverse engineer to find the code what exactly. For example consider a code in which a there is a method A(). Here another new method called A_Dummy() will be created and in the program Data Obfuscation:- Data obfuscation mainly deals with breaking up the data structures used in the program and encrypting the literals. This includes changing the inheritance, restructuring the arrays, making the variable names constant etc. In that way data obfuscation affect the data structures of the program. Thus data obfuscation make impossible to obtain the original source code of the program. More viable source code obfuscation methods are based on composite functions, which are Array Index Transformation, Method Argument Transformation, and Hiding Constant. The obfuscation techniques that are based on composite functions make the computation complex and extensive use of these techniques make the software to respond slowly. Some source code obfuscation methods are directed at the object oriented concept; Class Coalescing, Class splitting, and Type Hiding. Other source code obfuscation techniques may include; false refactoring, restructure arrays, inline and outline methods, clone methods, split v ariables, convert static to procedural data, and merge scalar variables. The obfuscation techniques that work over object oriented concept and other techniques like restructure arrays, split variables, merge scalar variables may distort the logic of the software, so these must be carefully used. The employment of obfuscation technique like outline methods, clone methods, convert static to procedural data increase the size of a class file without providing any significant advantage. In lining a method results in an unresolved method call when some other class calls the in lined method. Advanced obfuscation techniques for byte code:- There are several obfuscation techniques to prevent java byte code from de-compilation. Many of these tools are simply to change the names of the identifiers with the meaningless names which are stored in byte code. Many crackers can understand the actual source code, even though identifier name are changed, but it will take more time to understand. Traditionally, when a program is compiled to machine code, most of the symbolic information will be stripped off, after the compilation of the program. When the program is compiled, the address of the variable and functions of the program will be denoted by the identifiers. Even though de-compilation of such compiled code is difficult, but still it is possible to decompile the code. We say protection techniques are difficult if and only if the time and effort taken by the cracker to crack the software should be with more cost and effort. Cracking time to crack software is more than a re-writing a program, then its of no use and waste of time and valueless. Java became the most popular because of benefits that it is providing. One of the major benefits is portability i.e. compiled program can run on any platform i.e. platform independent. When the program is compiled it produces independent byte code. Java uses the symbolic references rather than the traditional memory addresses. Therefore, the names of methods and, variables and types are stored in a constant pool with in a byte code file. There are many commercial de-compilers (P C, 2001, Vliot 1996, hoeniche 2001 etc.). When the program is decompiled, it extracts the program almost identical to the source code. Making use of decompiler to extract the source code becomes the lethal weapon to intellectual property piracy. Obfuscation technique is used to stop de-compilation of the byte code. The main aim of obfuscation technique is to make decompiled program harder to understand i.e. more time and effort to understand the obfuscated code. Obfuscation scope:- Java application consists of one or more packages. A programmer might divide the program in to packages. He can also use the packages that are in standard library and proprietary libraries. Only the part of the program developed by the developer will be given outside. The proprietary library is not distributed due to the copyright restrictions. Obfuscation scope termed as the part of the program obfuscated by the obfuscation techniques, i.e. the part of the program/software developed by the developer is protected not the entire software. The package that serves as the utilities for the standard library and proprietary libraries not obfuscated. Candidates considered for identifiers scrambling:- An identifier will denote the following terms in java http://www.cis.nctu.edu.tw/~wuuyang/papers/Obfuscation20011123.doc the bytecode file. By default, parameters and local variables are stripped and deleted (or) removed from the byte code. The names of the local variables and parameters are stored in the LocalVariableTable in the byte code, if the debug info is enabled. But, by default the de-bug info is enabled in java compiler. If the local variable is not found, de-compilers itself create the names for local variable and parameter, which makes program after reverse somewhat understandable. Even, if we rename the names of the variables and parameter in LocalVariableTable, good decompiler will simply Characteristics of Java Language Characteristics of Java Language Chapter 2 Literature review About Java:- Initially java language is named as Oak in 1991, which is designed for the consumer electronic appliances. Later in 1995 the name was changed to Java. Java was developed by James Gosling, a development leader in sun micro system. Oak was redesigned in 1995 and changed the name to java for the development of the applications which can be run over internet. Using the java language, java programs can be embedded in to the html pages. Java is not only limited for the web applications, it is also useful to develop the stand alone applications. Java has a feature called OOPs, which make it more familiar. Object oriented programming replaced the old traditional techniques i.e. procedural programming. Characteristics of java:- Simple:- Java language is simple than the previous languages such as c and c++. Java eliminates the pointers concept which is earlier present in c and c++. Java also has a properties i.e. automatic allocation of memory and garbage collection, where as in c/c++ the garbage collection and allocation of memory will be done by the programmer which is a complex task. Object oriented:- All the programming languages apart from the c++ are procedural languages which are paradigm of procedures. Java programming language is object oriented because java uses the concept of the object. In java everything will depend on objects i.e. creating the objects and making objects to work together. The overall functionality of the high level program will depends on the objects. Because java is object oriented program it provides great range of reusability, modularity and flexibility. Distributed:- Java uses the http and ftp which are internet protocols, in order to have access the files over the network. So by using this libraries which are in java can easily make file transfers over the network which is connected to internet. Interpreted:- In order to run the java programs we need interpreter. When the java programs are compiled it produces the byte code, which is machine understandable language. The byte code which is produced after the compilation is machine independent, so that it can run on any system using java interpreter. Most of the compilers will convert the high level language instructions to the low-level machine understandable language as machine cant understand the high level instruction. The machine code can only be executed on that compiled native machine. For example a source code is compile on windows platform, the executable file produced after cant be executed on other platforms apart from the windows. But, coming to java it is different i.e. the source code is compiled once and the executable byte code can be run on any platform using java interpreter. The main functionality of the interpreter is, it converts the byte code to the machine language of the target machine. Robust and secure:- Java programming is more reliable. At the time of the execution time java shows all the errors. In java bad and error prone language constructs are eliminated. Java eliminated the concepts such as pointers, due to this there is no corruption of data and overwriting the memory locations. In the same way java supports the exception-handling, which makes java more reliable and robust. Java forces the programmer to write the code for the exceptions, which may occur during the execution of the program. So that program can be terminated successfully, without any error stopping the execution flow of the program. Java also provides the lot of security. Security is important over the network because the computer will be attacked by the external program. Java provides the security that; it encounters the applets for the un-trusted sources. Architecture- neutral:- Java is a interpreted language, which enables java as a architectural neutral i.e. platform independent. We can write the program once and it can be executed on any platform with the help of the Java Virtual Machine (JVM). The java virtual machine can be embedded on the operating system or on web browser. Once the part of the java code is loaded into the machine, it is verified. Byte code verification play a major role, as it check all the code generated by the compiler will not corrupt the machine on which the code is loaded. At the end of the compilation, byte code verification will be done; in order to make sure thats the code is accurate and correct. So the byte code verification is the integral to the compilation and execution. Due to the property of architectural neutral had by java, it is portable. The program once written can be run on any platform without recompilation. Java does not provide any platform specific features. In other languages, such as Ada where the large integer varies according to the platform it runs. But in the case of java the range of the numbers are fixed. Java environment is portal to every operating system and hardware. Multi-threaded:- It is defined as the programs ability to perform several tasks (or) functions simultaneously. The multithreading property is embedded in the java program. Using the java programs we can perform the several tasks simultaneously without calling any procedures of the operating system, which is done by the other programming languages in order to perform the multi-threading. Constant Pool:- Every program i.e. class in java, has a array of constants in the heap memory called as the constant pool, which is available to that class. Usually it is created by the java compiler. The constants encode all the name of the (methods, variables and constant that are presented in the constant pool) which is used by particular method of any class. Each individual class i.e. stored in heap memory has a count of how many constants are there and also has offset which specifies how far in to the class description itself the array of constants begins (Laura Lemay, Charles L.Perkins, and Micheal Morrison, n.d). The constants are represented (or) typed in the special coded bytes and which has a very well defined format, when these constants are appeared in the .class file for the java class file. JVM instructions refer to the symbolic information in java, rather than relying on the run time layouts of the class, methods and fields. Sun Java Wireless Toolkit:- Sun java wireless toolkit CLDC (connected Limited Device Configuration) is a group of tools which is used to develop the applications for the mobiles and for other wireless equipments (or) devices. Although the sun java wireless toolkit is based on the MIDP (Mobile Information Device Profile), it also supports many other optional packages, which make a sun java wireless toolkit as a great tool for developing many applications. It can be supported on the windows and Linux. All the users who have account on the host machine can access this tool either singly or simultaneously. It allows you to use a byte code obfuscator to reduce the size of your MIDlet suite JAR file. It also supports many other standard Application Programming Interfaces (APIs) which are defined by the (JCP) Java Community Process program. Even though, the sun java wireless toolkit did not come up with an obfuscator, it is configured in a way that it supports the ProGaurd. All you need to do is, just simply to download the ProGuard and place it in the system, which sun java wireless tool kit can find it. But due to the flexible nature of the tool, it allows any kind of the obfuscator. BCEL:- BCEL full abbreviation is Byte Code Engineering library. The BCEL helps you to dig the byte code of the java classes. BCEL gives the utmost power on the code because it works at the individual JVM instructions, even though the power comes with cost in complexity. Using the BCEL, we can transform the existing classes transformation or we can construct the new classes. The main difference between the BCEL and Javassist is javassist provides the source code interface where as the BCEL is developed in the intension to work at the level of the JVM assembly language. BCEL is good because the approach it uses is low level, which is very helpful to control the program at the instruction level. Compared to Javassist it is more complex to work with the BCEL. BCEL has the capability to inspect, to edit and to create binary classes in java. There are 2 hierarchy components in the BCEL, in which one component is used to create the new code and the other component is used to edit (or) update the existing code. The inspection of the class aspect in the BCEL mainly deals with the duplication whatever available in the java platform using the Reflection API. This duplication is necessary (or) mandatory in classworking because we generally dont want to load the classes on which we are working until they are modified fully. Org.apache.bcel.classfile package provides all the definition which is related to inspection-related code.org.apache.bcel package provides the basic constant definitions. JavaClass is a class which is the starting point of the package. The JavaClass plays a role in accessing the information of the class using the BCEL same as like java,lang.Class does using the regular reflection in java. The JavaClass has a methods to get the information like structural information about the super classes and interfaces, to get the information of the class i.e. information about the field and methods in the class. The JavaClass will provide access to the some internal information about the class, including constant pool and identifiers. It also represents the Byte stream which is the complete binary class representation. If the actual binary class is parcel, then we can create the instance for the JavaClass. To handle the parsing BCEL provides a class called org.apache.bcel.Respository. The representation of the classes are parsed and cached by the BCEL by default, which are on the JVM path, to get the actual binary classes representation from the org.apache.bcel.util.respository instance. org.apache.bcel.util.respository is an interface which is source for binary classes representations. Changing the classes:- Not only the accessing the components of class, org.apache.bcel.Classfile.JavaClass also provide certain methods, in order to provide the liberty to change (or) alter the classes. The class component can be set to the new values by using those methods. Although those are of no direct use much, because the other classes in the package dont support constructing the new versions of the components that are building. There are certain classes in the org.apache.bcel.generic package that will provide the editable versions of the same components there in the org.apache.bcel.classfile classes. Org.apache.bcel.generic.ClassGen is the starting step (or) point for the creating the new classes. This also useful to modify the existing classes, to do this one, there is a constructor that takes a JavaClass Instance in order to initialize ClassGen class information. Once you modified the changes to the class, then we get the usable (or) useful class representation from ClassGen instance, in order get the usable representation of the class, we need to call any method that returns the class called JavaClass. Later it will be converted into the binary class information. It is little bit confusing, in order to eliminate this confusion, it is better to write a wrapper class for eliminating some differences. In order to manage the construction of the various class components, org.apache.bcel.generic provides many other classes apart from the ClassGen. It has a class called ConstantPoolGen , which is used to handle the constant pool. FieldGen, MethodGen classes which are used to handle the Fields and the methods in classes. For the working with the sequence of the JVM instructions there is other class called Instruction List. org.apache.bcel.generic also provides the classes for the each and every type instructions which are executed over JVM. We can create the instance for these classes directly some times and in other times by using the helper class called org.apache.generic.InstrcutionFactory. The main advantage of this helper class is, it handles are the book keeping details of the each and every instruction constructing for us( i.e. adding the items to the constant pool as required for the instructions). Sand Mark:- Sandmark is a tool i.e. developed to measure the performance of the software protection algorithms and effectiveness of the methods that are preventing the software from the piracy issues, water tampering and reverse engineering techniques. Sandmark is also has an ability to find which algorithm is most resiliences to the attacks and have a least performance of over head. There are many software protections are proposed both in software and hardware. The hardware protections are there from the dongle protection and now tamper-proof software. The sandmark tool is developed to evaluating and implementing the software-based techniques such as code obfuscation (making code complex to understand) and water tampering. History of reverse engineering:- Reverse engineering most probably starts with Dos (disk operating system) based computer games. The aim is to have full life and armed for the player to finish the final stage of the game. In that way the technique of reverse engineering came in to picture, it is just to find the memory locations where the life and number of weapons are stored and modifying the values of that memory locations. So that, the player can changes the values and gets through the final stage and win the game. Thats why memory cheating tools such as game hack came in to existence. Reverse Engineering:- Reverse engineering is the process of the understanding the particular aspects of the program, which are listed below To identify the components of the system and the interrelationship between the components. And enhance the components of the system and to improve the performance and scalability of the system (or) subsystem. Software reverse engineering is a technique that converts a machine code of a program (string 0s and 1s usually sent to logic processor) back in to the programmable language statements which is called as source code. Software reverse engineering is done to get the source code of the program because to know how the particular parts of the program performs particular operations in order to improve the program functionality or to fix the bugs in the program or to find malicious block of statements in the software if any. Generally, this reverse engineering will take place in older industries on machines. But now it is frequently used on computer hardware and softwar e. The important contents like data formats, algorithms what the programmer used to implement the software and ideas of the programmer (or) company will be revealed to the 3rd person by violating the security and privacy issues using reverse engineering technique. Reverse engineering is evolving as a major link in the software lifecycle, but its growth is hampered by confusion (Elliot J.chilkofsky James H.Cross ii, Jan 1990). Reverse engineering is generally implemented to improve the quality of the product, to observe the competitors products. Forward engineering is the process of moving from the high level abstracts (or) from the initial requirements stage (objectives, constraints and proper solution to the problem), logical, and independent designs (specification of the solution) to the final product i.e. implementation (coding and testing).; whereas the reverse engineering is the process of moving from the final product to the initial requirements stage in order to under the system logically, why particular function (or) action is being performed. By knowing the system logically, the flaws and errors in the system can be rectified and helps to improve the systems functionality when the source code of the application is not available. For this sake the concept of the reverse engineering techniques is evolved. Fig 1: reverse engineering and related process are transformations between or within the abstract levels, represented here in terms of life cycle phases. (Elliot J.chilkofsky James H.Cross ii, Jan 1990) Reverse engineering in and of itself doesnt mean changing the subsystem or developing the new system based on the existing. It is a process of examination (or) understanding the program (or) software but not replication (or) change. Reverse engineering involves very broad range of aspects such as starting from the existing implementation, recreating or recapturing the design ideas and extracts the actual requirements of the existing system. Design recovery is the most vital subset of the reverse engineering because in which knowledge of the domain, external (or) outer side information and deduction or fuzzy reasoning are added to the investigated (or) subjected system in order to find the high level abstract of the system, normally which is not obtained by directly observing the system. According to the Ted BiggerStaff: Students Paper: Ted BiggerStaff: design recovery recreates design abstractions from a combination of code, existing design documentation(if available), personal experience, and general knowledge about problem and application domains. Design recovery must reproduce Re-engineering is termed as renovation and reclamation, is the examination and altering the subjective system again to construct in the new form and the implementation of the new system. Re-engineering involves some form of reverse engineering i.e. to obtain the high level of the abstract of the existing system followed by forward engineering. This may be changes according to the new requirements that were not previously implemented in the system. While re-engineering is not super type of the forward engineering and reverse engineering but it uses the forward engineering and reverse engineering. Objectives:- The primary goal of the reverse engineering is to enhance the overall comprehensibility of the system for the both maintenance and new development. Cope up with the complexity. In order to meet the complexity and shear volumes of the system we have to develop a better methods i.e. automated support. In order to extract the relevant information reverse engineering methods and tools should be combined with the CASE environments. So that decision makers can control the process and product in system evolutions. Alternative views should be generated. Comprehension aids such as graphic representation as been accepted for long time. However maintaining and creating them is becoming difficult in the process. Reverse engineering facilitates the generation or regeneration of the graphical representation in the other forms. While many designers work on single diagrams such as data flow diagrams where as the reverse engineering tools will give the other graphical representations such as control flow diagrams, entity relation diagrams and structure charts to aid the review and verification process. To identify the side effects. Both haphazard initial design and intentional modifications to the system can lead to unintentional ramifications and side effects that affect the system performance. Reverse engineering can provide better observation than we can observe by forward engineering perspective. So it makes us to solve that ramifications and anomalies before users intimate them as bugs. Component reuse. Software reusability is becoming the more essential part in developing the new products in the software field. Reverse engineering can be able to help to detect the candidates for reusable components from the present system. To recover the lost information. When the continuous evolution of the long lived system which will lead to loss of information. In order to preserve the old information of the system design; design recovery of reverse engineering techniques is used. Many reverse engineering tools try to extract the structure of the legacy systems with the intension to pass this information to software engineers in order to re-engineer or to reverse engineer the existing component. Code reverse engineering:- During the evolution of the software, many changes will apply to the code, to add any functionality which is to be added and to change the code in order to rectify the defect and enhance the systems performance (or) quality. Systems with the poor documentation only the code will be reliable solution to get information about the system. As a result, the process of reverse engineering is focused on understanding the code. Thus reverse engineering has good and bad ends. Obfuscation:- Java provides platform independence to the software programs so that software programs will run independently on any platform. All the programs are compiled in order get intermediate code format i.e. A class file consists of a stream of very large amount of information regarding the program methods, variable and constant enough to do reverse engineering. When a company develops the program (or) software in java and sell this product in intermediate code format to the other organization by not giving the original software. The organization who buys the program (or) software will simply change (or) modify the software by violating the security and privacy issues of authorised company; by simply applying the reverse engineering technique. This reverse engineering will be done by the software developers, automated tools and decompilers. Java byte code can be easily decompiled, which makes reverse engineering technique easier in java. In programming context Obfuscation is described as, making program code more difficult to read and understand for security and privacy purposes of the software. Decompilers can easily extract the source code from the compiled code, in that point of view protecting the code secretly will make impossible. So the growth of obfuscators increased rapidly in order to keep effectively smoke screen around the code. Code obfuscation is the one of the most prominent and best method to protect the java code securely. Code obfuscation makes program to understand difficult. So that code will be more resistant to the reverse engineering. There are 2 byte code obfuscation techniques that are: source code obfuscation byte code obfuscation Source code technique is simply changing the source code of the program, where as byte code obfuscation is changing the classfile of the program (functionality is same as the source code). There several obfuscation techniques to prevent java byte code from decompilation. For example consider a set of class files, S, becomes another set of class files S through an obfuscator. Here the set of class files of s and s are different, but they produce the same output. Example:- class OHello { public OHello() { int num=1; } public String gHello(String hname){ return hname; } when the above code is passed through the simple obfuscator (such as Klass Master), the following code will be generated. class aa { public static boolean aa; public aa() { int aa=1; } public String aa(String ba){ return ba; } By observing the above code the class name OHello is changed to the aa and the gHello method name is changed to the aa. It is more difficult to read the program with aa than a OHello. By this way less information will be interpreted and understand to the reverse engineers. This is just a simple example by renaming the class variables and class method names. Categories of obfuscation techniques:- Description of Obfuscation techniques:- One way of obfuscating the source program by the obfuscators is replacing a symbol of a class file by illegal string. The replacement might be the private are even worst ***. Other techniques usually obfuscator will use targeting the specific decompilers (Mocha and Jode) is inserting a bad instruction in the code. The example is Let us taken an example with bad instruction, lets take the original code (decompiled): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return and after obfuscation the code is as follows (names are not changed, not to make complex): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return 7 pop By observing the above routine we notice that a pop instruction is added after the return statement. The last and final statement in the method that has return type should be return statement, but in the above routine a pop keyword is inserted which make the routine not to be executed for ever. Lexical obfuscation:- Lexical obfuscation changes the lexical structure of a program by scrambling the identifiers. All the names of classes, fields and methods which are meaningful symbolic information of java program, is renamed with meaningless name i.e. useless names. An example obfuscator for lexical obfuscation is crema. Obfuscator is defined as the program that automatically makes the transformation in the classfile in order obfuscate the classfile, to undo the reverse engineering technique to produce the source code from the class file. Layout obfuscation:- Layout obfuscation dealt with changing the layout structure of the program i.e. done by 2 basic methods Renaming the identifiers Removing the debugging information. Above 2 will make program code less informative to the reverse engineers. Layout obfuscation techniques use the one way functions such renaming the identifiers by random symbols, removing the comments, unused methods and debugging information. Though the reverse engineers can understand the obfuscated code i.e. done by layout obfuscation, it consumes the cost of reverse engineering. Layout obfuscation techniques are most commonly used in the code obfuscation. All most all obfuscators of java will use these techniques. Control obfuscation:- Changing the control flow of the program. It is easiest way to do and which make reverse engineer to find the code what exactly. For example consider a code in which a there is a method A(). Here another new method called A_Dummy() will be created and in the program Data Obfuscation:- Data obfuscation mainly deals with breaking up the data structures used in the program and encrypting the literals. This includes changing the inheritance, restructuring the arrays, making the variable names constant etc. In that way data obfuscation affect the data structures of the program. Thus data obfuscation make impossible to obtain the original source code of the program. More viable source code obfuscation methods are based on composite functions, which are Array Index Transformation, Method Argument Transformation, and Hiding Constant. The obfuscation techniques that are based on composite functions make the computation complex and extensive use of these techniques make the software to respond slowly. Some source code obfuscation methods are directed at the object oriented concept; Class Coalescing, Class splitting, and Type Hiding. Other source code obfuscation techniques may include; false refactoring, restructure arrays, inline and outline methods, clone methods, split v ariables, convert static to procedural data, and merge scalar variables. The obfuscation techniques that work over object oriented concept and other techniques like restructure arrays, split variables, merge scalar variables may distort the logic of the software, so these must be carefully used. The employment of obfuscation technique like outline methods, clone methods, convert static to procedural data increase the size of a class file without providing any significant advantage. In lining a method results in an unresolved method call when some other class calls the in lined method. Advanced obfuscation techniques for byte code:- There are several obfuscation techniques to prevent java byte code from de-compilation. Many of these tools are simply to change the names of the identifiers with the meaningless names which are stored in byte code. Many crackers can understand the actual source code, even though identifier name are changed, but it will take more time to understand. Traditionally, when a program is compiled to machine code, most of the symbolic information will be stripped off, after the compilation of the program. When the program is compiled, the address of the variable and functions of the program will be denoted by the identifiers. Even though de-compilation of such compiled code is difficult, but still it is possible to decompile the code. We say protection techniques are difficult if and only if the time and effort taken by the cracker to crack the software should be with more cost and effort. Cracking time to crack software is more than a re-writing a program, then its of no use and waste of time and valueless. Java became the most popular because of benefits that it is providing. One of the major benefits is portability i.e. compiled program can run on any platform i.e. platform independent. When the program is compiled it produces independent byte code. Java uses the symbolic references rather than the traditional memory addresses. Therefore, the names of methods and, variables and types are stored in a constant pool with in a byte code file. There are many commercial de-compilers (P C, 2001, Vliot 1996, hoeniche 2001 etc.). When the program is decompiled, it extracts the program almost identical to the source code. Making use of decompiler to extract the source code becomes the lethal weapon to intellectual property piracy. Obfuscation technique is used to stop de-compilation of the byte code. The main aim of obfuscation technique is to make decompiled program harder to understand i.e. more time and effort to understand the obfuscated code. Obfuscation scope:- Java application consists of one or more packages. A programmer might divide the program in to packages. He can also use the packages that are in standard library and proprietary libraries. Only the part of the program developed by the developer will be given outside. The proprietary library is not distributed due to the copyright restrictions. Obfuscation scope termed as the part of the program obfuscated by the obfuscation techniques, i.e. the part of the program/software developed by the developer is protected not the entire software. The package that serves as the utilities for the standard library and proprietary libraries not obfuscated. Candidates considered for identifiers scrambling:- An identifier will denote the following terms in java http://www.cis.nctu.edu.tw/~wuuyang/papers/Obfuscation20011123.doc the bytecode file. By default, parameters and local variables are stripped and deleted (or) removed from the byte code. The names of the local variables and parameters are stored in the LocalVariableTable in the byte code, if the debug info is enabled. But, by default the de-bug info is enabled in java compiler. If the local variable is not found, de-compilers itself create the names for local variable and parameter, which makes program after reverse somewhat understandable. Even, if we rename the names of the variables and parameter in LocalVariableTable, good decompiler will simply