This document presents Myoungkyu Song's preliminary dissertation proposal on facilitating the maintenance and evolution of non-functional concerns (NFCs) in modern enterprise applications through the use of domain-specific languages. The proposal addresses issues with managing metadata that implements NFCs across languages. The objectives are to develop reusable enterprise metadata, manage transparent program transformations, and enable reusing NFCs across languages. The work will involve developing pattern-based structural expressions for metadata, a language for documenting bytecode enhancements, and an approach for automatically translating metadata to reuse NFC implementations across languages.
Laleh M. Eshkevari defended her Ph.D dissertation on developing techniques for the automatic detection and classification of identifier renamings in software projects. Her dissertation outlined a taxonomy of renamings, described approaches for renaming detection based on line mapping, entity mapping and data flow analysis, and discussed methods for classifying renamings based on their form and semantic changes. Evaluation of the approaches on several open source projects showed high precision and recall for renaming detection and identified trends in how renamings are used in practice.
This document describes data from a controlled, multiple case study of software evolution and defects from industrial projects. The study involved 12 software projects developed by 6 programmers across 2 systems. Data was collected on code smells, code changes, defects, task dates and other variables. Code, code smells and evolution data are available online, along with defect reports extracted from issue tracking systems. The goal is to enable further analysis of factors that influence software maintainability.
This document presents Trustrace, an approach that uses software repository links to improve the trust in automatically recovered traceability links. Trustrace calculates trust values for traceability links based on their similarity scores from information retrieval techniques as well as evidence from other sources like version control commit logs. An empirical study on two systems found that Trustrace improved precision and recall over vector space models and reduced an expert's effort to validate links by up to 50%. The results also tended to improve when using larger version control commit logs.
This document outlines the syllabus for a course on Object Oriented Programming using C++. The syllabus covers 5 units: Programming Logic, Object Oriented Concepts and Control Structures, Functions, Structures, Classes and Objects, Constructors and Destructors and more advanced topics like Inheritance, Pointers, File Handling and Virtual Functions. Each unit defines the topics to be covered in detail along with recommended textbooks. The first unit discusses problem solving methodology, algorithms, flowcharts, pseudocode and the compilation process.
This document discusses object-oriented programming concepts like classes, objects, encapsulation, inheritance, polymorphism, and more. It provides examples of defining classes with data members and member functions, creating objects, passing objects as arguments, and using constructors and destructors. Key points include how memory is allocated for classes and objects, characteristics of constructors, constructor overloading, and examples of programs using constructors and destructors to print student details.
This document contains the resume of Niladri Sekhar Das. It summarizes his professional experience including his current role as Technical Architect at HTL Co India Pvt. Ltd since 2015. It also lists his past roles and responsibilities at Interra Systems from 2006 to 2012. His skills include C, C++, data structures, algorithms, object oriented design. He has experience in Agile development methods and communicating with customers to define requirements.
The document presents a taxonomy called ProMeTA for classifying program metamodels used in program reverse engineering. ProMeTA defines dimensions for characterizing metamodels such as target language, abstraction level, meta-language, and quality attributes. The taxonomy is used to analyze and classify five popular metamodels (ASTM, KDM, FAMIX, SPOOL, UNIQ). Key findings are that metamodels should support widely used languages and standards for long-term use and provide robust functionality and quality.
This document discusses 10 ways to improve programming code through practices like composing methods, test-driven development, static analysis, and questioning assumptions. It encourages techniques like short single-purpose methods, writing tests before code, using tools like FindBugs, avoiding unnecessary complexity, and continually learning language nuances. Examples show refactoring code to follow these practices. Resources are provided on related topics like pair programming and anti-object-oriented design.
Laleh M. Eshkevari defended her Ph.D dissertation on developing techniques for the automatic detection and classification of identifier renamings in software projects. Her dissertation outlined a taxonomy of renamings, described approaches for renaming detection based on line mapping, entity mapping and data flow analysis, and discussed methods for classifying renamings based on their form and semantic changes. Evaluation of the approaches on several open source projects showed high precision and recall for renaming detection and identified trends in how renamings are used in practice.
This document describes data from a controlled, multiple case study of software evolution and defects from industrial projects. The study involved 12 software projects developed by 6 programmers across 2 systems. Data was collected on code smells, code changes, defects, task dates and other variables. Code, code smells and evolution data are available online, along with defect reports extracted from issue tracking systems. The goal is to enable further analysis of factors that influence software maintainability.
This document presents Trustrace, an approach that uses software repository links to improve the trust in automatically recovered traceability links. Trustrace calculates trust values for traceability links based on their similarity scores from information retrieval techniques as well as evidence from other sources like version control commit logs. An empirical study on two systems found that Trustrace improved precision and recall over vector space models and reduced an expert's effort to validate links by up to 50%. The results also tended to improve when using larger version control commit logs.
This document outlines the syllabus for a course on Object Oriented Programming using C++. The syllabus covers 5 units: Programming Logic, Object Oriented Concepts and Control Structures, Functions, Structures, Classes and Objects, Constructors and Destructors and more advanced topics like Inheritance, Pointers, File Handling and Virtual Functions. Each unit defines the topics to be covered in detail along with recommended textbooks. The first unit discusses problem solving methodology, algorithms, flowcharts, pseudocode and the compilation process.
This document discusses object-oriented programming concepts like classes, objects, encapsulation, inheritance, polymorphism, and more. It provides examples of defining classes with data members and member functions, creating objects, passing objects as arguments, and using constructors and destructors. Key points include how memory is allocated for classes and objects, characteristics of constructors, constructor overloading, and examples of programs using constructors and destructors to print student details.
This document contains the resume of Niladri Sekhar Das. It summarizes his professional experience including his current role as Technical Architect at HTL Co India Pvt. Ltd since 2015. It also lists his past roles and responsibilities at Interra Systems from 2006 to 2012. His skills include C, C++, data structures, algorithms, object oriented design. He has experience in Agile development methods and communicating with customers to define requirements.
The document presents a taxonomy called ProMeTA for classifying program metamodels used in program reverse engineering. ProMeTA defines dimensions for characterizing metamodels such as target language, abstraction level, meta-language, and quality attributes. The taxonomy is used to analyze and classify five popular metamodels (ASTM, KDM, FAMIX, SPOOL, UNIQ). Key findings are that metamodels should support widely used languages and standards for long-term use and provide robust functionality and quality.
This document discusses 10 ways to improve programming code through practices like composing methods, test-driven development, static analysis, and questioning assumptions. It encourages techniques like short single-purpose methods, writing tests before code, using tools like FindBugs, avoiding unnecessary complexity, and continually learning language nuances. Examples show refactoring code to follow these practices. Resources are provided on related topics like pair programming and anti-object-oriented design.
The document summarizes research on the stability of lead telluride (PbTe) quantum dots. PbTe QDs show promising properties for optoelectronic devices but are unstable when exposed to oxygen. The document studies the oxidation of various sized PbTe and lead selenide (PbSe) QDs over time when exposed to air and nitrogen. PbTe QDs oxidize much more rapidly than PbSe QDs when in solution. However, coating PbTe QD films with alumina provides effective long-term protection from oxidation.
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...IJASCSE
There is a considerable interest in studying the energy spectrum changes due to the non parabolic energy band structure in nano structures and nano material semiconductors. Most material systems have parabolic band structures at the band edge, however away from the band edge the bands are strongly non parabolic. Other material systems are strongly parabolic at the band edge such as IV-VI lead salt semiconductors. A theoretical model was developed to conduct this study on PbSe/Pb 0.934 Sr0.066 Se nanostructure system in the infrared region. Moreover, we studied the effects of four temperatures on the analysis and design of this system. It will be shown that the total losses for the system are higher than the modal gain values for lasing to occur and multiple quantum well structures are a better design choice.
This document describes a room temperature method for precisely controlling the composition of copper sulfide materials. Copper(I) sulfide (Cu2S) is first synthesized by dissolving a copper-thiourea precursor in ethylenediamine. The Cu2S is then subjected to controlled chemical oxidation using iodine solutions, allowing the precise synthesis of copper-deficient copper sulfides (Cu2-xS) where x = 0.2, 0.25, 0.88, 1.0. The compositions are characterized using techniques such as powder X-ray diffraction and Raman spectroscopy. This elegant low-temperature approach provides a way to access the range of compositions within the copper-sulfur system for applications
Influence of the annealing temperature on the optical and solid stateproperti...Alexander Decker
This document discusses research on the influence of annealing temperature on the optical and solid state properties of lead selenide thin films grown using chemical bath deposition. Lead selenide thin films were deposited on glass substrates using two different constituent mixtures. The films were annealed at different temperatures and their properties were analyzed using techniques like XRD, UV-Vis spectroscopy, and microscopy. The optical band gap of the films was found to range from 1.26-2.00eV and increased with higher annealing temperature. Sample P(15) which had a different constituent mixture showed particularly promising properties like high absorbance and low transmittance, making it suitable for solar cell applications.
The document describes a nanoparticle-based method for detecting enzyme activity using quantum dots. Specifically:
- Enzymes catalyze chemical reactions in the body, and abnormal enzyme activity can indicate disease. The method allows simple detection of enzyme activity.
- It uses quantum dots that fluoresce at one wavelength. When an enzyme modifies a substrate linked to the dots, a dye molecule emits at a different wavelength via FRET.
- By measuring the ratio of dye to dot fluorescence, the assay can quantify enzyme activity levels down to subnanomolar concentrations, comparable to current methods. It has potential applications in disease screening, drug development, and detecting other chemical changes.
Characterisation of NanostructuredLead Selenide (PbSe) Thin Films for Solar D...IOSR Journals
The document summarizes research characterizing nanostructured lead selenide (PbSe) thin films deposited using chemical bath deposition for potential solar device applications. PbSe thin films were deposited on glass substrates at varying pH levels of the deposition bath. Characterization of the structural, optical and electrical properties of the films showed that film thickness and properties like band gap energy and conductivity could be controlled by varying the deposition parameters like pH. Higher pH levels resulted in films with lower conductivity and band gap, indicating the properties of PbSe could be tuned for different functions. The nanostructured PbSe thin films showed potential for use in solar energy devices based on their optical absorption properties.
This document provides an overview of semiconductor fundamentals and classifications. It discusses the properties of metals, insulators, and semiconductors. Semiconductors are classified as elemental, compound, narrow band-gap, wide band-gap, oxide, magnetic, organic, and low-dimensional. Elemental semiconductors like silicon are widely used but have limitations for optoelectronics. Compound semiconductors like GaAs have advantages for applications requiring high speeds or light emission/detection.
QD have such remarkable properties that scientists think they will soon be used in everything from light bulbs to the design of ultra-efficient solar cells.
Quantum dots (QD) are semiconductors made via several possible routes. John Ashmead discusses how they are made, their properties and their applications in research.
This document discusses semiconductor materials and their properties. It introduces intrinsic and extrinsic semiconductors. Intrinsic materials like silicon, germanium, and gallium arsenide have characteristic energy band gaps and intrinsic carrier concentrations. Extrinsic materials are formed by doping intrinsic materials with impurities to create excess electrons (n-type) or holes (p-type). The document explores doping processes and how impurities donate or accept electrons to influence a material's conductivity. It also examines bonding structures and carrier mobility in various semiconductors.
Semiconductor materials like silicon can be made to conduct electricity through "doping" with other atoms. Doping with atoms having extra electrons makes the material N-type and conductive, while doping with atoms missing electrons makes it P-type conductive. Semiconductor devices widely use controlled doping of silicon to generate and regulate electric current flow.
Quantum dots are semiconductor nanoparticles that confine electrons and holes in all three dimensions. They are made using different methods like lithography, colloidal synthesis, or epitaxy. Quantum dots have discrete energy levels that depend on their size and shape. They have potential applications in solar cells, LEDs, bioimaging, drug delivery, and anti-counterfeiting due to their tunable light emission properties.
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
The document discusses challenges with software development projects and how tools from Microsoft can help address these challenges. It notes that most projects fail or are over budget and challenges include poor requirements gathering and testing. However, tools like Visual Studio and Team Foundation Server that integrate requirements, work tracking, source control, testing and other functions can help make successful projects more possible by facilitating team collaboration. The document outlines features of these tools and how they aim to make application lifecycle management a routine part of development.
The document presents a new technique called ACER for automated query reformulation to improve concept location in source code. ACER uses a novel term weighting method called CodeRank that considers source code semantics and structure. It selects the best reformulation from candidates generated by CodeRank using machine learning on resampled data. An experimental evaluation on 1,675 change requests from 8 projects found that ACER improved 71% of queries and decreased mean rank, outperforming previous methods. The results validate that exploiting source code structure and semantics through CodeRank and data resampling in ACER enhances query reformulation over traditional techniques.
The document provides a summary of an ETL Developer's skills and experience. The developer has 3 years of experience using IBM InfoSphere Datastage for ETL projects involving data extraction, transformation, and loading. Responsibilities include developing and debugging ETL jobs, testing and tuning performance, implementing changes, and working with databases like Oracle. The developer has worked on risk data warehousing and order tracking projects, developing jobs to move data between systems and load enterprise data warehouses.
This document provides details about a .NET Technologies lab manual, including:
1) An outline of the course contents, objectives, prerequisites, learning outcomes, syllabus, and references.
2) A list of 21 experiments to be conducted in the lab, covering topics like web controls, ASP.NET pages, validation controls, databases, and databinding.
3) Requirements for the experimental setup, including software like Visual Studio 2010 and hardware requirements.
4) Details and sample code for the first two experiments - calculating factorials and performing currency conversions.
Writing clean code using test-driven development (TDD) involves:
1. Writing small, focused unit tests before writing the code to make them pass;
2. Iteratively writing just enough code to pass each test, then refactoring the code;
3. Following principles of clean code like using meaningful names, short functions that do one thing well, and formatting for readability.
The presentation demonstrated converting Roman numerals to Arabic using TDD, highlighting benefits like producing readable, maintainable code with test coverage and living documentation.
The document discusses techniques for evolutionary database development in an agile team. It recommends that the database administrator (DBA) work closely with other roles to iteratively refactor the database schema through small, frequent changes. It also emphasizes automated testing and deployment of database changes to safely evolve the database design over time.
This document contains a professional summary and work experience for Tarun Medimi. He has over 2.7 years of experience as a Teradata developer delivering reporting solutions for Apple Inc. His roles have included developing ETL interfaces, stored procedures, and aggregate tables in Teradata and Oracle databases. He has worked on projects involving customer satisfaction dashboards, staffing attainment reporting, and performance management dashboards. His responsibilities have included requirements gathering, design, development, testing, implementation, and support.
The document provides a summary of an ETL developer's skills and experience. It includes 3+ years of experience developing ETL processes in IBM InfoSphere Datastage 9.1. Specific experience includes developing Datastage jobs using various stages, debugging, performance tuning, implementing slowly changing dimensions, and working with databases like Oracle, SQL Server and Netezza. Project experience is provided for three projects involving reverse mortgage data warehousing, risk data warehousing, and an order tracking application. Responsibilities included developing ETL processes, testing, and supporting production environments.
Ganesh Ram Sundaram is a US citizen living in Frisco, TX with over 18 years of experience in application development for various industries using technologies like Java, C/C++, Oracle, and Teradata. He has worked as a Manager of Technical Services at ValuD Consulting and an Advisor/Application Developer at CVS/Caremark, where some of his responsibilities included leading data migration efforts, optimizing batch processes, and resolving production issues. Prior to that, he held senior programmer analyst roles at companies like Walmart, SBC, and Verizon, where he worked on projects involving database migration, automation of processes, and providing 24/7 support.
The document summarizes research on the stability of lead telluride (PbTe) quantum dots. PbTe QDs show promising properties for optoelectronic devices but are unstable when exposed to oxygen. The document studies the oxidation of various sized PbTe and lead selenide (PbSe) QDs over time when exposed to air and nitrogen. PbTe QDs oxidize much more rapidly than PbSe QDs when in solution. However, coating PbTe QD films with alumina provides effective long-term protection from oxidation.
Analysis and Design of Lead Salt PbSe/PbSrSe Single Quantum Well In the Infra...IJASCSE
There is a considerable interest in studying the energy spectrum changes due to the non parabolic energy band structure in nano structures and nano material semiconductors. Most material systems have parabolic band structures at the band edge, however away from the band edge the bands are strongly non parabolic. Other material systems are strongly parabolic at the band edge such as IV-VI lead salt semiconductors. A theoretical model was developed to conduct this study on PbSe/Pb 0.934 Sr0.066 Se nanostructure system in the infrared region. Moreover, we studied the effects of four temperatures on the analysis and design of this system. It will be shown that the total losses for the system are higher than the modal gain values for lasing to occur and multiple quantum well structures are a better design choice.
This document describes a room temperature method for precisely controlling the composition of copper sulfide materials. Copper(I) sulfide (Cu2S) is first synthesized by dissolving a copper-thiourea precursor in ethylenediamine. The Cu2S is then subjected to controlled chemical oxidation using iodine solutions, allowing the precise synthesis of copper-deficient copper sulfides (Cu2-xS) where x = 0.2, 0.25, 0.88, 1.0. The compositions are characterized using techniques such as powder X-ray diffraction and Raman spectroscopy. This elegant low-temperature approach provides a way to access the range of compositions within the copper-sulfur system for applications
Influence of the annealing temperature on the optical and solid stateproperti...Alexander Decker
This document discusses research on the influence of annealing temperature on the optical and solid state properties of lead selenide thin films grown using chemical bath deposition. Lead selenide thin films were deposited on glass substrates using two different constituent mixtures. The films were annealed at different temperatures and their properties were analyzed using techniques like XRD, UV-Vis spectroscopy, and microscopy. The optical band gap of the films was found to range from 1.26-2.00eV and increased with higher annealing temperature. Sample P(15) which had a different constituent mixture showed particularly promising properties like high absorbance and low transmittance, making it suitable for solar cell applications.
The document describes a nanoparticle-based method for detecting enzyme activity using quantum dots. Specifically:
- Enzymes catalyze chemical reactions in the body, and abnormal enzyme activity can indicate disease. The method allows simple detection of enzyme activity.
- It uses quantum dots that fluoresce at one wavelength. When an enzyme modifies a substrate linked to the dots, a dye molecule emits at a different wavelength via FRET.
- By measuring the ratio of dye to dot fluorescence, the assay can quantify enzyme activity levels down to subnanomolar concentrations, comparable to current methods. It has potential applications in disease screening, drug development, and detecting other chemical changes.
Characterisation of NanostructuredLead Selenide (PbSe) Thin Films for Solar D...IOSR Journals
The document summarizes research characterizing nanostructured lead selenide (PbSe) thin films deposited using chemical bath deposition for potential solar device applications. PbSe thin films were deposited on glass substrates at varying pH levels of the deposition bath. Characterization of the structural, optical and electrical properties of the films showed that film thickness and properties like band gap energy and conductivity could be controlled by varying the deposition parameters like pH. Higher pH levels resulted in films with lower conductivity and band gap, indicating the properties of PbSe could be tuned for different functions. The nanostructured PbSe thin films showed potential for use in solar energy devices based on their optical absorption properties.
This document provides an overview of semiconductor fundamentals and classifications. It discusses the properties of metals, insulators, and semiconductors. Semiconductors are classified as elemental, compound, narrow band-gap, wide band-gap, oxide, magnetic, organic, and low-dimensional. Elemental semiconductors like silicon are widely used but have limitations for optoelectronics. Compound semiconductors like GaAs have advantages for applications requiring high speeds or light emission/detection.
QD have such remarkable properties that scientists think they will soon be used in everything from light bulbs to the design of ultra-efficient solar cells.
Quantum dots (QD) are semiconductors made via several possible routes. John Ashmead discusses how they are made, their properties and their applications in research.
This document discusses semiconductor materials and their properties. It introduces intrinsic and extrinsic semiconductors. Intrinsic materials like silicon, germanium, and gallium arsenide have characteristic energy band gaps and intrinsic carrier concentrations. Extrinsic materials are formed by doping intrinsic materials with impurities to create excess electrons (n-type) or holes (p-type). The document explores doping processes and how impurities donate or accept electrons to influence a material's conductivity. It also examines bonding structures and carrier mobility in various semiconductors.
Semiconductor materials like silicon can be made to conduct electricity through "doping" with other atoms. Doping with atoms having extra electrons makes the material N-type and conductive, while doping with atoms missing electrons makes it P-type conductive. Semiconductor devices widely use controlled doping of silicon to generate and regulate electric current flow.
Quantum dots are semiconductor nanoparticles that confine electrons and holes in all three dimensions. They are made using different methods like lithography, colloidal synthesis, or epitaxy. Quantum dots have discrete energy levels that depend on their size and shape. They have potential applications in solar cells, LEDs, bioimaging, drug delivery, and anti-counterfeiting due to their tunable light emission properties.
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
The document discusses challenges with software development projects and how tools from Microsoft can help address these challenges. It notes that most projects fail or are over budget and challenges include poor requirements gathering and testing. However, tools like Visual Studio and Team Foundation Server that integrate requirements, work tracking, source control, testing and other functions can help make successful projects more possible by facilitating team collaboration. The document outlines features of these tools and how they aim to make application lifecycle management a routine part of development.
The document presents a new technique called ACER for automated query reformulation to improve concept location in source code. ACER uses a novel term weighting method called CodeRank that considers source code semantics and structure. It selects the best reformulation from candidates generated by CodeRank using machine learning on resampled data. An experimental evaluation on 1,675 change requests from 8 projects found that ACER improved 71% of queries and decreased mean rank, outperforming previous methods. The results validate that exploiting source code structure and semantics through CodeRank and data resampling in ACER enhances query reformulation over traditional techniques.
The document provides a summary of an ETL Developer's skills and experience. The developer has 3 years of experience using IBM InfoSphere Datastage for ETL projects involving data extraction, transformation, and loading. Responsibilities include developing and debugging ETL jobs, testing and tuning performance, implementing changes, and working with databases like Oracle. The developer has worked on risk data warehousing and order tracking projects, developing jobs to move data between systems and load enterprise data warehouses.
This document provides details about a .NET Technologies lab manual, including:
1) An outline of the course contents, objectives, prerequisites, learning outcomes, syllabus, and references.
2) A list of 21 experiments to be conducted in the lab, covering topics like web controls, ASP.NET pages, validation controls, databases, and databinding.
3) Requirements for the experimental setup, including software like Visual Studio 2010 and hardware requirements.
4) Details and sample code for the first two experiments - calculating factorials and performing currency conversions.
Writing clean code using test-driven development (TDD) involves:
1. Writing small, focused unit tests before writing the code to make them pass;
2. Iteratively writing just enough code to pass each test, then refactoring the code;
3. Following principles of clean code like using meaningful names, short functions that do one thing well, and formatting for readability.
The presentation demonstrated converting Roman numerals to Arabic using TDD, highlighting benefits like producing readable, maintainable code with test coverage and living documentation.
The document discusses techniques for evolutionary database development in an agile team. It recommends that the database administrator (DBA) work closely with other roles to iteratively refactor the database schema through small, frequent changes. It also emphasizes automated testing and deployment of database changes to safely evolve the database design over time.
This document contains a professional summary and work experience for Tarun Medimi. He has over 2.7 years of experience as a Teradata developer delivering reporting solutions for Apple Inc. His roles have included developing ETL interfaces, stored procedures, and aggregate tables in Teradata and Oracle databases. He has worked on projects involving customer satisfaction dashboards, staffing attainment reporting, and performance management dashboards. His responsibilities have included requirements gathering, design, development, testing, implementation, and support.
The document provides a summary of an ETL developer's skills and experience. It includes 3+ years of experience developing ETL processes in IBM InfoSphere Datastage 9.1. Specific experience includes developing Datastage jobs using various stages, debugging, performance tuning, implementing slowly changing dimensions, and working with databases like Oracle, SQL Server and Netezza. Project experience is provided for three projects involving reverse mortgage data warehousing, risk data warehousing, and an order tracking application. Responsibilities included developing ETL processes, testing, and supporting production environments.
Ganesh Ram Sundaram is a US citizen living in Frisco, TX with over 18 years of experience in application development for various industries using technologies like Java, C/C++, Oracle, and Teradata. He has worked as a Manager of Technical Services at ValuD Consulting and an Advisor/Application Developer at CVS/Caremark, where some of his responsibilities included leading data migration efforts, optimizing batch processes, and resolving production issues. Prior to that, he held senior programmer analyst roles at companies like Walmart, SBC, and Verizon, where he worked on projects involving database migration, automation of processes, and providing 24/7 support.
Debmalya Ghosh is a software engineer with over 8 years of experience. He has worked at Accenture Services Pvt Ltd since 2011 and at Infosys Technologies Ltd from 2007 to 2011. Some of his skills include Oracle PL/SQL, Sybase, MS SQL Server, and tools like TOAD, PowerBuilder, and Informatica. He has experience in domains such as insurance, banking, and life sciences. Notable projects include an automation project for ING America and a development project for Bank of America. He holds a B.Tech from St Thomas’ College of Engineering & Technology and is currently located in Deerfield, Illinois.
This document is a resume for Jithin Eapen summarizing his professional experience and qualifications. It states that he has 4 years of experience as a software programmer working with various clients on projects involving IBM Sterling Commerce OMS, IBM Sterling Web Call Center, and other IBM applications. It provides details on his technical skills and proficiencies in areas such as Java, J2EE, databases, frameworks, and IDEs. It also lists his academic qualifications and certifications, as well as descriptions of some of the projects he has worked on in his career.
This document is a curriculum vitae for Revanth Raja that summarizes his professional experience and qualifications. He has over 5 years of experience in data warehousing and ETL tools, specifically Talend. He is currently a Senior Software Engineer at LnT Infotech where he has worked since 2010. Some of his responsibilities there include creating ETL jobs to load and transform reference data, generate reports, and integrate other teams' jobs. He has experience in projects for Citi Bank involving finance workflow maintenance and password management.
The document contains Nitin Paliwal's resume. It includes his contact information, career objective, professional summary highlighting over 4.5 years of experience in data warehousing using Datastage ETL. It lists his technical skills and certifications in Datastage, Cognos, SQL. It details his professional experience as an ETL Datastage developer at Tech Mahindra working on projects for Chevron Corporation involving data integration, data quality management, and runtime support. It concludes with his educational qualifications and hobbies.
Lessons learned teaching a groovy grails courseJacobAae
This document summarizes a professor's experience teaching a course on Groovy and Grails web development. Some key points:
- The 42-student course involved 2 hours of teaching per week and had students complete a group project in 4 parts over 14 weeks.
- Students struggled with code quality, testing and configuration skills but engaged with the practical project experience.
- The professor received many questions around performance, validation, data modeling and testing challenges in the student projects.
- Overall the course was successful in bridging theory and practice, though it involved a large workload. The professor recommends focusing more on configuration and using Grails 3 in the future.
This document provides a summary of Magesh Babu Arumugam's experience as a data warehousing professional with over 10 years of experience. It highlights his strengths such as experience tuning SQL queries, loading and extracting data using ETL tools like WhereScape RED, and working with databases like Teradata and Greenplum. It also lists his technical expertise and professional experience managing projects involving data migration, ETL development, and performance tuning for clients in various industries.
This document describes an approach for supporting software change tasks using automated query reformulations. It begins with an example of a software change request between Alex and Bob. It then discusses using techniques like TextRank and POSRank, adapted from PageRank, to identify important terms from change requests for querying a codebase. The approach was evaluated on a dataset of over 1,900 change tasks from eight open source projects. Experimental results found the proposed approach improved 57.84% of queries and outperformed existing state-of-the-art methods based on measures like query effectiveness and retrieval performance.
This document is a professional summary for Lalith Kumar Thota. It outlines his 10 years of experience in software development using technologies like C#, ASP.Net, SQL Server, and Azure. It also lists his technical skills and work history on several projects for clients like Microsoft and Infosys.
Sreekanth has over 5 years of experience in data warehousing and ETL development using IBM DataStage. He has worked on projects in the telecom and automotive industries, extracting data from various sources and loading it into data warehouses. His responsibilities included designing and developing ETL jobs, testing, troubleshooting, performance tuning, and providing production support. He is proficient in DataStage, Oracle, Teradata, UNIX, and scheduling tools like Autosys.
1. Preliminary Dissertation Proposal Exam Facilitating Maintenance and Evolution of Non-Functional Concerns (NFCs) in Modern Enterprise Applications Myoungkyu Song SW Innovations Lab, Dept. of Computer Science, Virginia Tech Committee Members Dr. Eli Tilevich, Chair Virginia Tech Dr. Stephen H. Edwards Virginia Tech Dr. Dennis G. Kafura Virginia Tech Dr. Barbara G. Ryder Virginia Tech Dr. Kwangkeun Yi Seoul National Univ., South Korea SW I-Lab April, 28 2011, 2225@KWII
3. Business Logic NFC Example: Persistence +Metadata (XML) public class ManagerBean extends javax.ejb.EntityBean { private Long orderId; private String status; public ManagerBean(){...} ... } <entity> <class name=“ManagerBean” table=“Manager”> <field name=“orderId” primary-key=“true”> <column name=“ORDERID”/> </field> <field name=“status”> <column name=“STATUS”/> </field> ... </entity> 3
4. Problem: Address maintenance and evolution challenges of implementing non-functional concerns (NFCs) declaratively Thesis statement: Domain-specific languages can facilitate the maintenance and evolution of NFC implementations in modern enterprise applications Dissertation Objective 4
5.
6.
7.
8. Pattern-Based Structural Expressions (PBSE) A novel metadata language based on queries against the main program; easier to program, understand, maintain, and reuse. The Structural Enhancement Rule (SER) language A DSL for documenting bytecode enhancements; enables source-level prog. understanding and debugging tools Reusing NFCs Across Languages An approach to reusing NFCs across languages through automated metadata translation Contributions 8
16. Business Logic Limitation of Enterprise Metadata 10 + Metadata (Java 5 Annotation) publicclassManagerEJB { public String getOrderId(){ return orderId; } public String getStatus(){ return status; } @Entity @Table(name="Manager") @Id @Column(name="orderId", primaryKey=true) @Column(name="status", primaryKey=false)
17. A PBSE Script Example 01 Metadata MyJPA<Package p> 02 Class c in p 03 Where (public *EJB) 04 c += @Table 05 @Table.name = (c.name =~ s/EJB$//) 06 Column<c> 07 08 Metadata Column<Class c> 09 Field f in c 10 Where (private * *) 11 Method m in c 12 Where((“get” + (f.name =~ s/^[a-z]/[A-Z]/)) == m.name) 13 m += @Column @Column.name = f.name 15 Where(public * get*Id ()) 16 @Column.primKey = true 17 m += @Id 18 MyJPA <"package1"> 11
27. Programmable Use OO and declarative query programming Understandable Encode relationship between program constructs and their metadata Maintainable Express explicit structural information Reusable Leverage naming conventions of framework dependent code Pattern-Based Structural Expressions 13
33. A SER Script Example 01 02 03 04 05 06 07 08 09 10 11 12 13 Program JDO Using SUPER_JDO_SER Begin EnhClass = OrgClass EnhClass.AddInterface (“javax.jdo.spi.PersistenceCapable”) Var PatternfieldP Begin modifiers= (“private” or “protected”) and not “static” End VarIterator fieldIter = OrgClass.Fields(fieldP) EnhClass.AddMethod(FieldSetReplacer(“jdoSet”, fieldIter)) EnhClass.AddMethod(FieldGetReplacer(“jdoGet”, fieldIter)) End 16
56. Leveraging SER for Maintenance SER Script SER Parser Enhanced Bytecode Source Code Enhancement Program Constructs Bytecode Processor Src. code Processor Original Source code Bytecode to Src. Map Symbol Table Original Source Code SER Interpreter Enhancement Information 20
57. Symbolic Debugger for Enhanced Bytecode A standard debugger : JDB The newly added methods The skip instruction Our symbolic debugger The changed method The reverse instruction 21
58.
59. Metadata Non-Functional Concerns Annotation @Table Confi- gure Security Testing C# Attributes [Author ( … Enterprise Application Fault Tolerance Persistence XML <column=… <field=…/> Functional Concerns Intermediate Representation (Bytecode) Source Code Compiler Emerging languages(ELs) cross-compiled to mainstream languages(MLs) NFCs, such as security, testing, and persistence implemented in target MLs NFCs specified through metadata EL unable to access ML’s NFC implementations EL programmers waste development effort reimplementing NFCs A novel approach reusing NFC implementations across languages by automatically translating metadata Research Plan 23
63. Step 1:Metadata Translation Framework 25 Program in Source Language Metadata in Source Language <<tag>> Program Cross- Compile Metadata Cross- Compile Program in Target Language 1...n Metadata in Target Language 1...n <<tag>>
70. Reuse NFCs of Testing: JUnit (Java Unit Testing Framework) & CppUnit (C++ Unit Testing Framework) Transparent Persistence: JDO (Java Data Objects) & ODB (ORM system for C++) Evaluation Plan 29
71. Reusing UnitTest Framework 30 The class to be tested publicclass IntegrateTest { var parm : double; var expt : double; var integrate : Integrate; defthis(parm : double, expt : double) { this.parm = parm; this.expt = expt; } publicdef testComputeArea() { val result = integrate.computeArea(0, this.parm); TUnit.assertEquals(this.expt, result); } publicstatic def data() { val parm = new Array[double](0..1*0..2); parm(0, 0) = 2; parm(0, 1) = 6.000000262757339; ...}} publicclass Integrate { staticdef computeArea(left:double, right:double) { return recEval(left, (left*left + 1.0) * left, right, (right*right + 1.0) * right, 0); } staticdef recEval(l:double,.. r:double,..) { // .. finish { async{expr1 = recEval(c, fc, r, fr, ar); }; expr2 = recEval(l, fl, c, fc, al); } return expr1 + expr2; }} The method to be tested Parameterizing
72. Reusing UnitTestFramework: PBSE Spec. 31 cont’d MetadataUnitTest<Package p> Class c in p Where(public class *Test) c += @RunWith @RunWith.value = "Parameterized" TestMethod<c> Metadata TestMethod<Class c> Method m in c Where (public def init ()) m += @Before Where (public def finish ()) m += @After Where (public def test* ()) m += @Test Where (public static def data ()) m += @Parameters UnitTest<“package1"> Parameterization
73. Reusing Transparent Persistence 32 publicclass Fmm3d{ def getDirectEnergy() : Double{ val model = new FmmModel(); val directEnergy = finish (SumReducer()){ ateach (p1 in locallyEssentialTrees) { varthisPlaceEnergy : Double = 0.0; for ([x1,y1,z1] in lowestLevelBoxes.dist(here)){ val box1 = lowestLevelBoxes(x1,y1,z1) as FmmLeafBox; for ([atomIndex1] in 0..(box1.atoms.size()-1)){ for (p in uList){ for ([otherBoxAtomIndex] in 0..(boxAtoms.size-1)){ thisPlaceEnergy += atom1.charge * atom2Packed.charge / atom1.centre.distance(atom2Packed.centre); }}} model.setModelId(id(box1.x,box1.y,box1.z)); model.setEnergy(thisPlaceEnergy); //... TP.setFmmModelObj(model); Long Comput- ation Part Transparently Persistent