Enabling PHP software engineering research in Rascal
Today, PHP is one of the most popular programming languages, and is commonly used in the open source community and in industry to build large application frameworks and web applications. In this paper, we discuss our ongoing work on PHP AiR, a framework for PHP Analysis in Rascal. PHP AiR is focused...
Uloženo v:
| Vydáno v: | Science of computer programming Ročník 134; s. 37 - 46 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Elsevier B.V
01.02.2017
|
| Témata: | |
| ISSN: | 0167-6423, 1872-7964 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | Today, PHP is one of the most popular programming languages, and is commonly used in the open source community and in industry to build large application frameworks and web applications. In this paper, we discuss our ongoing work on PHP AiR, a framework for PHP Analysis in Rascal. PHP AiR is focused especially on program analysis and empirical software engineering, and is being used actively and effectively in work on evaluating PHP feature usage and system evolution, on program analysis for refactoring and security validation, and on source code metrics. We describe the requirements and design decisions for PHP AiR, summarize current research using PHP AiR, discuss lessons learned, and briefly sketch future work.
•We describe a framework in Rascal for PHP software engineering research, PHP AiR.•We report results of using PHP AiR for empirical studies and program analysis.•We examine the design decisions and tradeoffs encountered building PHP AiR. |
|---|---|
| AbstractList | Today, PHP is one of the most popular programming languages, and is commonly used in the open source community and in industry to build large application frameworks and web applications. In this paper, we discuss our ongoing work on PHP AiR, a framework for PHP Analysis in Rascal. PHP AiR is focused especially on program analysis and empirical software engineering, and is being used actively and effectively in work on evaluating PHP feature usage and system evolution, on program analysis for refactoring and security validation, and on source code metrics. We describe the requirements and design decisions for PHP AiR, summarize current research using PHP AiR, discuss lessons learned, and briefly sketch future work.
•We describe a framework in Rascal for PHP software engineering research, PHP AiR.•We report results of using PHP AiR for empirical studies and program analysis.•We examine the design decisions and tradeoffs encountered building PHP AiR. |
| Author | Klint, Paul Vinju, Jurgen J. Hills, Mark |
| Author_xml | – sequence: 1 givenname: Mark orcidid: 0000-0003-0996-9275 surname: Hills fullname: Hills, Mark email: mhills@cs.ecu.edu organization: East Carolina University, Greenville, NC, USA – sequence: 2 givenname: Paul surname: Klint fullname: Klint, Paul email: Paul.Klint@cwi.nl organization: Centrum Wiskunde & Informatica, Amsterdam, The Netherlands – sequence: 3 givenname: Jurgen J. surname: Vinju fullname: Vinju, Jurgen J. email: Jurgen.Vinju@cwi.nl organization: Centrum Wiskunde & Informatica, Amsterdam, The Netherlands |
| BookMark | eNqFj81Kw0AUhQepYFt9Ajd5gcQ7P5l0Fi6kVCsULKLr4WZyU6fUicwExbc3sa5c6OpwOfc78M3YJHSBGLvkUHDg-mpfJOddV4jhKKAsAOQJm_JFJfLKaDVh06Gocq2EPGOzlPYAoFXFp0ytAtYHH3bZdr3NUtf2Hxgpo7DzgSiORaREGN1L5kP2iMnh4ZydtnhIdPGTc_Z8u3parvPNw9398maTOwmyzwnMYuGwLtEILXXV6lJQbSqJYFBiaxzwVirTKEFa8BKFVlA3qlYAWKGRcyaPuy52KUVq7Vv0rxg_LQc7itu9_Ra3o7iF0g7iA2V-Uc732Psu9BH94R_2-sjSoPXuKY4_FBw1PpLrbdP5P_kvlFh2YA |
| CitedBy_id | crossref_primary_10_17163_ings_n27_2022_01 crossref_primary_10_1016_j_scico_2018_04_006 crossref_primary_10_1016_j_jss_2024_111973 crossref_primary_10_1007_s40815_017_0370_6 crossref_primary_10_1002_spe_2665 |
| Cites_doi | 10.1016/j.scico.2006.04.002 10.1016/j.infsof.2006.08.009 10.1002/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y 10.1145/71605.71607 10.1145/367177.367199 10.1016/j.scico.2007.11.003 |
| ContentType | Journal Article |
| Copyright | 2016 Elsevier B.V. |
| Copyright_xml | – notice: 2016 Elsevier B.V. |
| DBID | AAYXX CITATION |
| DOI | 10.1016/j.scico.2016.05.003 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1872-7964 |
| EndPage | 46 |
| ExternalDocumentID | 10_1016_j_scico_2016_05_003 S0167642316300296 |
| GroupedDBID | --K --M .DC .~1 0R~ 123 1B1 1RT 1~. 1~5 4.4 457 4G. 5VS 7-5 71M 8P~ 9JN AACTN AAEDW AAFTH AAIAV AAIKJ AAKOC AALRI AAOAW AAQFI AAXUO AAYFN ABBOA ABJNI ABMAC ABVKL ABYKQ ACDAQ ACGFS ACRLP ACZNC ADBBV ADEZE ADHUB AEBSH AEKER AENEX AEXQZ AFKWA AFTJW AGUBO AGYEJ AHHHB AHZHX AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD AXJTR BKOJK BLXMC CS3 DU5 E.L EBS EFJIC EFLBG EJD EO8 EO9 EP2 EP3 FDB FEDTE FIRID FNPLU FYGXN G-Q GBLVA GBOLZ HVGLF IHE IXB J1W KOM LG9 M26 M41 MO0 N9A O-L O9- OAUVE OK1 OZT P-8 P-9 P2P PC. Q38 RIG ROL RPZ SDF SDG SDP SES SPC SPCBC SSV SSZ T5K TN5 XPP ZMT ~G- 9DU AAEDT AAQXK AATTM AAXKI AAYWO AAYXX ABFNM ABWVN ABXDB ACLOT ACNNM ACRPL ACVFH ADCNI ADMUD ADNMO ADVLN AEIPS AEUPX AFFNX AFJKZ AFPUW AGHFR AGQPQ AIGII AIIUN AKBMS AKRWK AKYEP ANKPU APXCP ASPBG AVWKF AZFZN CITATION EFKBS FGOYB G-2 HZ~ R2- SEW WUQ ZY4 ~HD |
| ID | FETCH-LOGICAL-c303t-e0988cab5a926367f652eb973a09a3af9c01f349d42e6215a2640bd4b400a7a93 |
| ISICitedReferencesCount | 7 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000390072500004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0167-6423 |
| IngestDate | Sat Nov 29 03:37:17 EST 2025 Tue Nov 18 22:01:38 EST 2025 Fri Feb 23 02:37:18 EST 2024 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Keywords | PHP Empirical software engineering Program analysis Dynamic languages Meta-programming |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c303t-e0988cab5a926367f652eb973a09a3af9c01f349d42e6215a2640bd4b400a7a93 |
| ORCID | 0000-0003-0996-9275 |
| PageCount | 10 |
| ParticipantIDs | crossref_primary_10_1016_j_scico_2016_05_003 crossref_citationtrail_10_1016_j_scico_2016_05_003 elsevier_sciencedirect_doi_10_1016_j_scico_2016_05_003 |
| PublicationCentury | 2000 |
| PublicationDate | 2017-02-01 2017-02-00 |
| PublicationDateYYYYMMDD | 2017-02-01 |
| PublicationDate_xml | – month: 02 year: 2017 text: 2017-02-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | Science of computer programming |
| PublicationYear | 2017 |
| Publisher | Elsevier B.V |
| Publisher_xml | – name: Elsevier B.V |
| References | Hills, Klint, Vinju (br0150) 2014 Hills, Klint, Vinju (br0130) 2013 br0220 McCarthy (br0660) 1960; 3 van den Brand, van Deursen, Heering, de Jong, de Jonge, Kuipers, Klint, Moonen, Olivier, Scheerder, Vinju, Visser, Visser (br0390) 2001; vol. 2027 Parr (br0440) 2007 br0500 Bravenboer, Kalleberg, Vermaas, Visser (br0400) 2008; 72 Heering, Hendriks, Klint, Rekers (br0110) 1989; 24 Tamang (br0300) 2015 Cordy (br0420) 2006; 61 Charles, Fuhrer, Sutton, Duesterwald, Vinju (br0450) 2009 br0460 br0020 br0060 Moreau (br0370) 1998 Samimi, Schäfer, Artzi, Millstein, Tip, Hendren (br0600) 2012 Klint, van der Storm, Vinju (br0100) 2009 Minamide (br0580) 2005 Beyer (br0340) 2006 Hills (br0140) 2015 van den Brand, de Jong, Klint, Olivier (br0430) 2000; 30 br0510 Hills (br0670) 2014; vol. 8706 Biggar (br0530) April 2010 br0470 Hills, Klint, Vinju (br0190) 2012; vol. 7745 Anderson, Zarins (br0360) 2005 br0230 Hills, Klint, van der Storm, Vinju (br0260) 2011; vol. 6705 br0030 br0070 Zhao, Proctor, Yang, Qi, Williams, Gao, Ottoni, Paroski, MacVicar, Evans, Tu (br0540) 2012 Müller, Klashinsky (br0630) 1988 br0200 Wohlin, Runeson, Höst, Ohlsson, Regnell (br0280) 2012 Steindorfer, Vinju (br0320) 2015 van den Bos, Hills, Klint, van der Storm, Vinju (br0330) 2011; vol. 56 Steindorfer, Vinju (br0310) 2014 br0520 Basten, Hills, Klint, Landman, Shahi, Steindorfer, Vinju (br0610) 2015 Hills, Klint (br0180) 2014 Hills, Klint, Vinju (br0270) 2012 Hills (br0160) 2015 br0480 Huang, Yu, Hang, Tsai, Lee, Kuo (br0550) 2004 br0240 Demeyer, Tichelaar, Ducasse (br0620) 2001 br0040 Jovanovic, Kruegel, Kirda (br0570) 2006 Rucareanu (br0170) 2013 Klint (br0120) 2008 br0080 Holt, Winter, Schürr (br0640) 2000 Balland, Brauner, Kopetz, Moreau, Reilles (br0410) 2007; vol. 4533 br0210 Jovanovic, Krügel, Kirda (br0560) 2006 br0090 Holt (br0350) 2008 br0490 van den Brand, Klint (br0650) 2007; 49 br0010 Ceri, Gottlob, Tanca (br0380) 1990 br0250 Wassermann, Su (br0590) 2008 br0050 br0290 van den Brand (10.1016/j.scico.2016.05.003_br0650) 2007; 49 Anderson (10.1016/j.scico.2016.05.003_br0360) 2005 Basten (10.1016/j.scico.2016.05.003_br0610) 2015 Moreau (10.1016/j.scico.2016.05.003_br0370) 1998 Balland (10.1016/j.scico.2016.05.003_br0410) 2007; vol. 4533 Beyer (10.1016/j.scico.2016.05.003_br0340) 2006 Rucareanu (10.1016/j.scico.2016.05.003_br0170) 2013 Cordy (10.1016/j.scico.2016.05.003_br0420) 2006; 61 Tamang (10.1016/j.scico.2016.05.003_br0300) 2015 Parr (10.1016/j.scico.2016.05.003_br0440) 2007 Steindorfer (10.1016/j.scico.2016.05.003_br0310) 2014 Steindorfer (10.1016/j.scico.2016.05.003_br0320) 2015 Müller (10.1016/j.scico.2016.05.003_br0630) 1988 Ceri (10.1016/j.scico.2016.05.003_br0380) 1990 Wassermann (10.1016/j.scico.2016.05.003_br0590) 2008 Wohlin (10.1016/j.scico.2016.05.003_br0280) 2012 Charles (10.1016/j.scico.2016.05.003_br0450) 2009 van den Brand (10.1016/j.scico.2016.05.003_br0390) 2001; vol. 2027 Hills (10.1016/j.scico.2016.05.003_br0260) 2011; vol. 6705 Huang (10.1016/j.scico.2016.05.003_br0550) 2004 Samimi (10.1016/j.scico.2016.05.003_br0600) 2012 Demeyer (10.1016/j.scico.2016.05.003_br0620) 2001 Hills (10.1016/j.scico.2016.05.003_br0270) 2012 Hills (10.1016/j.scico.2016.05.003_br0180) 2014 van den Brand (10.1016/j.scico.2016.05.003_br0430) 2000; 30 Holt (10.1016/j.scico.2016.05.003_br0640) 2000 van den Bos (10.1016/j.scico.2016.05.003_br0330) 2011; vol. 56 Biggar (10.1016/j.scico.2016.05.003_br0530) 2010 Heering (10.1016/j.scico.2016.05.003_br0110) 1989; 24 Jovanovic (10.1016/j.scico.2016.05.003_br0570) 2006 Bravenboer (10.1016/j.scico.2016.05.003_br0400) 2008; 72 Jovanovic (10.1016/j.scico.2016.05.003_br0560) 2006 Hills (10.1016/j.scico.2016.05.003_br0130) 2013 Hills (10.1016/j.scico.2016.05.003_br0140) 2015 Hills (10.1016/j.scico.2016.05.003_br0670) 2014; vol. 8706 Klint (10.1016/j.scico.2016.05.003_br0100) 2009 Hills (10.1016/j.scico.2016.05.003_br0160) 2015 Hills (10.1016/j.scico.2016.05.003_br0150) 2014 McCarthy (10.1016/j.scico.2016.05.003_br0660) 1960; 3 Holt (10.1016/j.scico.2016.05.003_br0350) 2008 Zhao (10.1016/j.scico.2016.05.003_br0540) 2012 Minamide (10.1016/j.scico.2016.05.003_br0580) 2005 Klint (10.1016/j.scico.2016.05.003_br0120) 2008 Hills (10.1016/j.scico.2016.05.003_br0190) 2012; vol. 7745 |
| References_xml | – ident: br0490 article-title: PHP copy/paste detector – ident: br0050 article-title: MediaWiki homepage – start-page: 191 year: 2009 end-page: 206 ident: br0450 article-title: Accelerating the creation of customized, language-specific IDEs in Eclipse publication-title: Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications – start-page: 432 year: 2005 end-page: 441 ident: br0580 article-title: Static approximation of dynamically generated Web pages publication-title: Proceedings of the 14th International Conference on World Wide Web – start-page: 277 year: 2012 end-page: 287 ident: br0600 article-title: Automated repair of HTML generation errors in PHP applications using string constraint solving publication-title: Proceedings of the 34th International Conference on Software Engineering – start-page: 503 year: 2014 end-page: 514 ident: br0150 article-title: Static, lightweight includes resolution for PHP publication-title: Proceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering – ident: br0200 article-title: Count lines of code tool – ident: br0040 article-title: WordPress homepage – ident: br0230 article-title: PHP parser – year: 1998 ident: br0370 article-title: A choice-point library for backtrack programming publication-title: Post-Conference Workshop on Implementation Technologies for Programming Languages Based on Logic – year: 1990 ident: br0380 article-title: Logic Programming and Databases – ident: br0060 article-title: Magento homepage – start-page: 5 year: 2008 end-page: 14 ident: br0350 article-title: Grokking software architecture publication-title: Proceedings of the 15th Working Conference on Reverse Engineering – volume: vol. 8706 start-page: 322 year: 2014 end-page: 341 ident: br0670 article-title: Streamlining control flow graph construction with DCFlow publication-title: Proceedings of the 7th International Conference on Software Language Engineering – year: April 2010 ident: br0530 article-title: Design and implementation of an ahead-of-time compiler for PHP – ident: br0240 article-title: Eclipse PHP development tools – volume: 49 start-page: 55 year: 2007 end-page: 64 ident: br0650 article-title: ATerms for manipulation and exchange of structured data: it's all about sharing publication-title: Inf. Softw. Technol. – start-page: 27 year: 2006 end-page: 36 ident: br0570 article-title: Precise alias analysis for static detection of Web application vulnerabilities publication-title: Proceedings of the 2006 Workshop on Programming Languages and Analysis for Security – start-page: 40 year: 2012 end-page: 49 ident: br0270 article-title: Scripting a refactoring with Rascal and Eclipse publication-title: Proceedings of the 5th Workshop on Refactoring Tools – ident: br0480 article-title: PHP CodeSniffer – ident: br0010 article-title: PHP language homepage – volume: vol. 7745 start-page: 372 year: 2012 end-page: 391 ident: br0190 article-title: Meta-language support for type-safe access to external resources publication-title: Proceedings of the 5th International Conference on Software Language Engineering – volume: vol. 4533 start-page: 36 year: 2007 end-page: 47 ident: br0410 article-title: Tom: piggybacking rewriting on Java publication-title: Proceedings of the 18th International Conference on Term Rewriting and Applications – volume: 30 start-page: 259 year: 2000 end-page: 291 ident: br0430 article-title: Efficient annotated terms publication-title: Softw. Pract. Exp. – year: 2001 ident: br0620 article-title: FAMIX 2.1—the FAMOOS information exchange model – year: 2008 ident: br0120 article-title: Using RSCRIPT for software analysis publication-title: Working Session on Query Technologies and Applications for Program Comprehension – start-page: 807 year: 2006 end-page: 810 ident: br0340 article-title: Relational programming with CrocoPat publication-title: Proceedings of the 28th International Conference on Software Engineering – start-page: 11 year: 2014 end-page: 14 ident: br0310 article-title: Code specialization for memory efficient hash tries (short paper) publication-title: Proceedings of the 2014 International Conference on Generative Programming – start-page: 168 year: 2009 end-page: 177 ident: br0100 article-title: RASCAL: a domain specific language for source code analysis and manipulation publication-title: Proceedings of the Ninth IEEE Working Conference on Source Code Analysis and Manipulation – ident: br0250 article-title: Eclipse Java development tools – volume: vol. 2027 start-page: 365 year: 2001 end-page: 370 ident: br0390 article-title: The ASF+SDF meta-environment: a component-based language development environment publication-title: Proceedings of the 10th International Conference on Compiler Construction – volume: 72 start-page: 52 year: 2008 end-page: 70 ident: br0400 article-title: Stratego/XT 0.17. A language and toolset for program transformation publication-title: Sci. Comput. Program. – start-page: 80 year: 1988 end-page: 86 ident: br0630 article-title: Rigi – a system for programming-in-the-large publication-title: Proceedings of the 10th International Conference on Software Engineering – start-page: 575 year: 2012 end-page: 586 ident: br0540 article-title: The HipHop compiler for PHP publication-title: Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications – volume: vol. 6705 start-page: 228 year: 2011 end-page: 243 ident: br0260 article-title: A case of visitor versus interpreter pattern publication-title: Proceedings of the 49th International Conference on Objects, Models, Components, and Patterns – start-page: 147 year: 2005 end-page: 148 ident: br0360 article-title: The CodeSurfer software understanding platform publication-title: Proceedings of the 13th International Workshop on Program Comprehension – start-page: 258 year: 2006 end-page: 263 ident: br0560 article-title: Pixy: a static analysis tool for detecting Web application vulnerabilities (short paper) publication-title: IEEE Symposium on Security and Privacy – start-page: 525 year: 2015 end-page: 529 ident: br0140 article-title: Evolution of dynamic feature usage in PHP publication-title: Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering – volume: vol. 56 start-page: 15 year: 2011 end-page: 32 ident: br0330 article-title: Rascal: from algebraic specification to meta-programming publication-title: Proceedings of the Second International Workshop on Algebraic Methods in Model-Based Software Engineering – year: 2012 ident: br0280 article-title: Experimentation in Software Engineering – year: 2015 ident: br0300 article-title: A constraint-based method for flow-sensitive static type analysis Of PHP using the Rascal meta-programming platform – start-page: 325 year: 2013 end-page: 335 ident: br0130 article-title: An empirical study of PHP feature usage: a static analysis perspective publication-title: Proceedings of the 2013 International Symposium on Software Testing and Analysis – ident: br0470 – start-page: 171 year: 2008 end-page: 180 ident: br0590 article-title: Static detection of cross-site scripting vulnerabilities publication-title: Proceedings of the 30th International Conference on Software Engineering – year: 2013 ident: br0170 article-title: PHP: securing against SQL injection – ident: br0030 article-title: PHP usage statistics – ident: br0090 article-title: Laravel homepage – volume: 3 start-page: 184 year: 1960 end-page: 195 ident: br0660 article-title: Recursive functions of symbolic expressions and their computation by machine, Part I publication-title: Commun. ACM – volume: 24 start-page: 43 year: 1989 end-page: 75 ident: br0110 article-title: The syntax definition formalism SDF—reference manual publication-title: SIGPLAN Not. – ident: br0510 article-title: PHPLoc – start-page: 783 year: 2015 end-page: 800 ident: br0320 article-title: Optimizing Hash-array mapped tries for fast and lean immutable JVM collections publication-title: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications – volume: 61 start-page: 190 year: 2006 end-page: 210 ident: br0420 article-title: The TXL source transformation language publication-title: Sci. Comput. Program. – ident: br0500 article-title: PHPDepend – ident: br0220 article-title: PHP AiR PHP parser – start-page: 25 year: 2015 end-page: 28 ident: br0610 article-title: M3: a general model for code analytics in Rascal publication-title: Proceedings of the 1st IEEE International Workshop on Software Analytics – ident: br0290 article-title: BlackDuck OpenHub PHP language statistics – start-page: 162 year: 2000 end-page: 171 ident: br0640 article-title: GXL: toward a standard exchange format publication-title: Proceedings of the Seventh Working Conference on Reverse Engineering – ident: br0210 – ident: br0070 article-title: Symfony homepage – ident: br0080 article-title: CodeIgniter homepage – ident: br0520 article-title: PHPMD – ident: br0020 article-title: TIOBE Programming Community index – start-page: 454 year: 2014 end-page: 457 ident: br0180 article-title: PHP AiR: analyzing PHP systems with RASCAL publication-title: Proceedings of the 2014 Software Evolution Week—IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering – year: 2007 ident: br0440 article-title: The Definitive ANTLR Reference: Building Domain-Specific Languages – start-page: 40 year: 2004 end-page: 52 ident: br0550 article-title: Securing Web application code by static analysis and runtime protection publication-title: Proceedings of the 13th International Conference on World Wide Web – ident: br0460 – start-page: 563 year: 2015 end-page: 573 ident: br0160 article-title: Variable feature usage patterns in PHP publication-title: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering – start-page: 503 year: 2014 ident: 10.1016/j.scico.2016.05.003_br0150 article-title: Static, lightweight includes resolution for PHP – year: 2001 ident: 10.1016/j.scico.2016.05.003_br0620 – volume: 61 start-page: 190 issue: 3 year: 2006 ident: 10.1016/j.scico.2016.05.003_br0420 article-title: The TXL source transformation language publication-title: Sci. Comput. Program. doi: 10.1016/j.scico.2006.04.002 – start-page: 432 year: 2005 ident: 10.1016/j.scico.2016.05.003_br0580 article-title: Static approximation of dynamically generated Web pages – start-page: 168 year: 2009 ident: 10.1016/j.scico.2016.05.003_br0100 article-title: RASCAL: a domain specific language for source code analysis and manipulation – volume: vol. 2027 start-page: 365 year: 2001 ident: 10.1016/j.scico.2016.05.003_br0390 article-title: The ASF+SDF meta-environment: a component-based language development environment – year: 1998 ident: 10.1016/j.scico.2016.05.003_br0370 article-title: A choice-point library for backtrack programming – start-page: 277 year: 2012 ident: 10.1016/j.scico.2016.05.003_br0600 article-title: Automated repair of HTML generation errors in PHP applications using string constraint solving – start-page: 258 year: 2006 ident: 10.1016/j.scico.2016.05.003_br0560 article-title: Pixy: a static analysis tool for detecting Web application vulnerabilities (short paper) – volume: 49 start-page: 55 issue: 1 year: 2007 ident: 10.1016/j.scico.2016.05.003_br0650 article-title: ATerms for manipulation and exchange of structured data: it's all about sharing publication-title: Inf. Softw. Technol. doi: 10.1016/j.infsof.2006.08.009 – year: 2010 ident: 10.1016/j.scico.2016.05.003_br0530 – start-page: 325 year: 2013 ident: 10.1016/j.scico.2016.05.003_br0130 article-title: An empirical study of PHP feature usage: a static analysis perspective – volume: 30 start-page: 259 year: 2000 ident: 10.1016/j.scico.2016.05.003_br0430 article-title: Efficient annotated terms publication-title: Softw. Pract. Exp. doi: 10.1002/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y – volume: vol. 6705 start-page: 228 year: 2011 ident: 10.1016/j.scico.2016.05.003_br0260 article-title: A case of visitor versus interpreter pattern – start-page: 454 year: 2014 ident: 10.1016/j.scico.2016.05.003_br0180 article-title: PHP AiR: analyzing PHP systems with RASCAL – start-page: 80 year: 1988 ident: 10.1016/j.scico.2016.05.003_br0630 article-title: Rigi – a system for programming-in-the-large – start-page: 525 year: 2015 ident: 10.1016/j.scico.2016.05.003_br0140 article-title: Evolution of dynamic feature usage in PHP – start-page: 5 year: 2008 ident: 10.1016/j.scico.2016.05.003_br0350 article-title: Grokking software architecture – start-page: 162 year: 2000 ident: 10.1016/j.scico.2016.05.003_br0640 article-title: GXL: toward a standard exchange format – start-page: 575 year: 2012 ident: 10.1016/j.scico.2016.05.003_br0540 article-title: The HipHop compiler for PHP – volume: 24 start-page: 43 issue: 11 year: 1989 ident: 10.1016/j.scico.2016.05.003_br0110 article-title: The syntax definition formalism SDF—reference manual publication-title: SIGPLAN Not. doi: 10.1145/71605.71607 – volume: 3 start-page: 184 issue: 4 year: 1960 ident: 10.1016/j.scico.2016.05.003_br0660 article-title: Recursive functions of symbolic expressions and their computation by machine, Part I publication-title: Commun. ACM doi: 10.1145/367177.367199 – volume: 72 start-page: 52 issue: 1–2 year: 2008 ident: 10.1016/j.scico.2016.05.003_br0400 article-title: Stratego/XT 0.17. A language and toolset for program transformation publication-title: Sci. Comput. Program. doi: 10.1016/j.scico.2007.11.003 – year: 2008 ident: 10.1016/j.scico.2016.05.003_br0120 article-title: Using RSCRIPT for software analysis – volume: vol. 7745 start-page: 372 year: 2012 ident: 10.1016/j.scico.2016.05.003_br0190 article-title: Meta-language support for type-safe access to external resources – start-page: 27 year: 2006 ident: 10.1016/j.scico.2016.05.003_br0570 article-title: Precise alias analysis for static detection of Web application vulnerabilities – start-page: 191 year: 2009 ident: 10.1016/j.scico.2016.05.003_br0450 article-title: Accelerating the creation of customized, language-specific IDEs in Eclipse – start-page: 40 year: 2004 ident: 10.1016/j.scico.2016.05.003_br0550 article-title: Securing Web application code by static analysis and runtime protection – start-page: 563 year: 2015 ident: 10.1016/j.scico.2016.05.003_br0160 article-title: Variable feature usage patterns in PHP – year: 2013 ident: 10.1016/j.scico.2016.05.003_br0170 – volume: vol. 56 start-page: 15 year: 2011 ident: 10.1016/j.scico.2016.05.003_br0330 article-title: Rascal: from algebraic specification to meta-programming – start-page: 807 year: 2006 ident: 10.1016/j.scico.2016.05.003_br0340 article-title: Relational programming with CrocoPat – start-page: 783 year: 2015 ident: 10.1016/j.scico.2016.05.003_br0320 article-title: Optimizing Hash-array mapped tries for fast and lean immutable JVM collections – year: 2015 ident: 10.1016/j.scico.2016.05.003_br0300 – start-page: 11 year: 2014 ident: 10.1016/j.scico.2016.05.003_br0310 article-title: Code specialization for memory efficient hash tries (short paper) – year: 2007 ident: 10.1016/j.scico.2016.05.003_br0440 – start-page: 25 year: 2015 ident: 10.1016/j.scico.2016.05.003_br0610 article-title: M3: a general model for code analytics in Rascal – start-page: 40 year: 2012 ident: 10.1016/j.scico.2016.05.003_br0270 article-title: Scripting a refactoring with Rascal and Eclipse – year: 2012 ident: 10.1016/j.scico.2016.05.003_br0280 – year: 1990 ident: 10.1016/j.scico.2016.05.003_br0380 – volume: vol. 4533 start-page: 36 year: 2007 ident: 10.1016/j.scico.2016.05.003_br0410 article-title: Tom: piggybacking rewriting on Java – start-page: 171 year: 2008 ident: 10.1016/j.scico.2016.05.003_br0590 article-title: Static detection of cross-site scripting vulnerabilities – start-page: 147 year: 2005 ident: 10.1016/j.scico.2016.05.003_br0360 article-title: The CodeSurfer software understanding platform – volume: vol. 8706 start-page: 322 year: 2014 ident: 10.1016/j.scico.2016.05.003_br0670 article-title: Streamlining control flow graph construction with DCFlow |
| SSID | ssj0006471 |
| Score | 2.1864197 |
| Snippet | Today, PHP is one of the most popular programming languages, and is commonly used in the open source community and in industry to build large application... |
| SourceID | crossref elsevier |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 37 |
| SubjectTerms | Dynamic languages Empirical software engineering Meta-programming PHP Program analysis |
| Title | Enabling PHP software engineering research in Rascal |
| URI | https://dx.doi.org/10.1016/j.scico.2016.05.003 |
| Volume | 134 |
| WOSCitedRecordID | wos000390072500004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 customDbUrl: eissn: 1872-7964 dateEnd: 20180131 omitProxy: false ssIdentifier: ssj0006471 issn: 0167-6423 databaseCode: AIEXJ dateStart: 19950201 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3NT9swFLeqsgOXARvT-JQPu3WZnNiJ4yNCRVAkVE1s6i2yHUdq1QVEy8efz3Nsp6VMFRy4RFXUOKl_r-_33sv7QOhHFZuKE62jpIxNxIzgkVI8BlkGvmFMpaWqmmET_OoqH43EsNMZhFqYhymv6_zpSdx-KNRwDsC2pbPvgLtdFE7AZwAdjgA7HN8EfN9WQ9kAwPB82JuBln20yV1m0Xew5xv8NLGO33Km_YreRA3_dp9vbkc-hCyuf4Hnmlj1dDpbrfa5hBvPVxMO_47ryb2rALGVnr3Br-VQA9AXadM2fPQRtCo4LPSF-vTBSKcAXQcXT6UuuPhKSbt4wQTcdxB2m12XNc1TCV1wUngPv0JVbQJhyE2bFM0ihV2kIGnRNH7dSHgq8i7aOLnojwYtL2fO_W5_ROhB1WT7vXqW_9spS7bH9Tb67J0GfOLA3kEdU39BW2EgB_aIfUUsYI8Bexywx0vY44A9HtfYYb-L_pz1r0_PIz8WI9Jgb8wjQ0Sea6lSKZKMZrzK0sQowakkQlJZCU3iijJRssRkYNFJsHmJKpkCdS25FPQb6tY3tfmOMM2zMk0oj6WmLCVUaZUyrsELBtoD5tlDSdiEQvue8XZ0ybRYA8Ae-tledOtapqz_ehZ2t_BWn7PmCpCXdRfuv-8-B2hzIdOHqDu_uzdH6JN-mI9nd8deWJ4Bclx3QA |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Enabling+PHP+software+engineering+research+in+Rascal&rft.jtitle=Science+of+computer+programming&rft.au=Hills%2C+Mark&rft.au=Klint%2C+Paul&rft.au=Vinju%2C+Jurgen+J.&rft.date=2017-02-01&rft.issn=0167-6423&rft.volume=134&rft.spage=37&rft.epage=46&rft_id=info:doi/10.1016%2Fj.scico.2016.05.003&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_scico_2016_05_003 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0167-6423&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0167-6423&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0167-6423&client=summon |