JP2018519592A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2018519592A5 JP2018519592A5 JP2017564873A JP2017564873A JP2018519592A5 JP 2018519592 A5 JP2018519592 A5 JP 2018519592A5 JP 2017564873 A JP2017564873 A JP 2017564873A JP 2017564873 A JP2017564873 A JP 2017564873A JP 2018519592 A5 JP2018519592 A5 JP 2018519592A5
- Authority
- JP
- Japan
- Prior art keywords
- name
- qualified
- list
- source code
- names
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000000875 corresponding Effects 0.000 claims 8
- 230000003993 interaction Effects 0.000 claims 2
- 238000000034 method Methods 0.000 claims 2
- 230000004048 modification Effects 0.000 claims 1
- 238000006011 modification reaction Methods 0.000 claims 1
- 239000003607 modifier Substances 0.000 claims 1
Claims (13)
- コンパイルすべきソースコードファイル内の少なくとも1つの単純名の修飾名の候補を探索するための、コンピュータによって実現される方法であって、
コンパイルすべきソースコードファイルを受信するステップを備え、前記ソースコードファイルは、対応する修飾名がコンパイラによって必要とされる少なくとも1つの単純名を含み、前記方法は、
前記ソースコードファイルをパースして前記ソースコードファイル内の前記単純名および前記修飾名を決定するステップと、
対応する修飾名が必要とされる前記少なくとも1つの単純名に関して、ソースコードグラフを検索して前記少なくとも1つの単純名に対応する、可能性のある候補修飾名を探索するステップと、
前記ソースコードグラフから可能性のある候補修飾名のリストを受信すると、追加情報を有する、前記可能性のある候補修飾名のリストのエンリッチメントを行なうステップとを備え、前記可能性のある候補修飾名のリストのエンリッチメントを行なうステップは、 前記可能性のある候補修飾名のリストに含まれる、可能性のある候補修飾名に対応する修飾名パッケージがビルドプロセスに追加する前記ソースコードをビルドする時間の増加を判断することと、
前記修飾名パッケージの名前を前記可能性のある候補修飾名のリストに追加することと、
前記リストを出力することとを含み、前記方法は、
修飾名が前記可能性のある候補修飾名のリストから選択されると、特定の修飾名に関するビルドディペンデンシーおよびビルドターゲットを決定するステップと、
前記決定されたビルドディペンデンシーおよびビルドターゲットに基づいて前記ソースコードをコンパイルするステップと、
を備える、方法。 - 前記リストのエンリッチメントを行なうステップは、前記リストの出力に先立って特定の種類の可能性のある候補修飾名が他のソースコードファイルによって使用された回数を含むように前記リストのエンリッチメントを行なうことを含む、請求項1に記載のコンピュータによって実現される方法。
- 前記リストのエンリッチメントを行なうステップは、特定の可能性のある候補修飾名がソースコードリポジトリの他の部分において使用された頻度に基づいて前記リストのランク付けを行なうことを含む、請求項1に記載のコンピュータによって実現される方法。
- 前記リストが1つの可能性のある修飾名しか含まない場合、ユーザの対話なしで前記修飾名を自動的に選択するステップをさらに備える、請求項1〜3のいずれかに記載のコンピュータによって実現される方法。
- インターフェースを提供して前記可能性のある候補修飾名のリストから修飾名の選択を受信するステップをさらに備える、請求項1〜4のいずれかに記載のコンピュータによって実現される方法。
- 前記リストのエンリッチメントを行なうステップは、
修飾名パッケージが、前記修飾名パッケージに対応する可能性のある単純名が現在参照されている前記ソースコードファイルから可視であるかどうかを判断することと、
前記修飾名パッケージが前記ソースコードファイルから可視であるという判断に応じて、前記修飾名パッケージの名前を可能性のある候補修飾名として設けることと、
を含む、請求項1〜5のいずれかに記載のコンピュータによって実現される方法。 - コンパイルすべきソースコードファイル内の少なくとも1つの単純名の修飾名の候補を探索するためのシステムであって、
1つ以上の処理装置と、
複数の命令を格納する1つ以上の記憶装置とを備え、前記複数の命令は、前記1つ以上の処理装置によって実行されると、前記1つ以上の処理装置に、
コンパイルすべきソースコードファイルを受信することを行なわせ、前記ソースコードファイルは対応する修飾名がコンパイラによって必要とされる少なくとも1つの単純名を含み、前記複数の命令は、さらに、前記1つ以上の処理装置によって実行されると、前記1つ以上の処理装置に、
前記ソースコードファイルをパースして前記ソースコードファイル内の前記単純名および修飾名を決定することと、
対応する修飾名が必要とされる前記少なくとも1つの単純名に関して、ソースコードグラフを検索して前記少なくとも1つの単純名に対応する、可能性のある修飾名を探索することと、
前記ソースコードグラフから可能性のある候補修飾名のリストを受信すると、追加情報を有する、可能性のある候補修飾名のリストのエンリッチメントを行なうこととを備え、前記可能性のある候補修飾名のリストのエンリッチメントを行なうことは、
前記可能性のある候補修飾名のリストに含まれる、可能性のある候補修飾名に対応する修飾名パッケージがビルドプロセスに追加する前記ソースコードをビルドする時間の増加を判断することと、
前記修飾名パッケージの名前を前記可能性のある候補修飾名のリストに追加することと、
前記リストを出力することと、
修飾名が前記可能性のある候補修飾名のリストから選択されると、特定の修飾名に関するビルドディペンデンシーおよびビルドターゲットを決定することと、
前記決定されたビルドディペンデンシーおよびビルドターゲットに基づいて前記ソースコードをコンパイルすることと、
を行なわせる、システム。 - 前記リストのエンリッチメントを行なうことは、前記リストの出力に先立って特定の種類の可能性のある候補修飾名が他のソースコードファイルによって使用された回数を含むように前記リストのエンリッチメントを行なうことを含む、請求項7に記載のシステム。
- 前記リストのエンリッチメントを行なうことは、特定の可能性のある候補修飾名がソースコードリポジトリの他の部分において使用された頻度に基づいて前記リストのランク付けを行なうことを含む、請求項7に記載のシステム。
- 前記リストが1つの可能性のある修飾名しか含まない場合、ユーザの対話なしで前記修飾名を自動的に選択することをさらに備える、請求項7〜9のいずれかに記載のシステム。
- インターフェースを提供して前記可能性のある候補修飾名のリストから修飾名の選択を受信することをさらに備える、請求項7〜10のいずれかに記載のシステム。
- 前記リストのエンリッチメントを行なうことは、
修飾名パッケージが、前記修飾名パッケージに対応する可能性のある単純名が現在参照されている前記ソースコードファイルから可視であるかどうかを判断することと、
前記修飾名パッケージが前記ソースコードファイルから可視であるという判断に応じて、前記修飾名パッケージの名前を可能性のある候補修飾名として設けることと、を含む、請求項7〜11のいずれかに記載のシステム。 - コンピュータに請求項1〜6のいずれか1項に記載の方法を実行させるプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/796,695 | 2015-07-10 | ||
US14/796,695 US10120679B2 (en) | 2015-07-10 | 2015-07-10 | Automatic imports and dependencies in large-scale source code repositories |
PCT/US2016/039561 WO2017011176A1 (en) | 2015-07-10 | 2016-06-27 | Automatic imports and dependencies in large-scale source code repositories |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018519592A JP2018519592A (ja) | 2018-07-19 |
JP2018519592A5 true JP2018519592A5 (ja) | 2019-06-27 |
JP6568605B2 JP6568605B2 (ja) | 2019-08-28 |
Family
ID=56360528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017564873A Active JP6568605B2 (ja) | 2015-07-10 | 2016-06-27 | 大規模ソースコードリポジトリにおける自動インポートおよびディペンデンシー |
Country Status (8)
Country | Link |
---|---|
US (1) | US10120679B2 (ja) |
EP (1) | EP3320430B1 (ja) |
JP (1) | JP6568605B2 (ja) |
KR (1) | KR101990603B1 (ja) |
CN (1) | CN107810474B (ja) |
DE (2) | DE202016008044U1 (ja) |
GB (1) | GB2556481A (ja) |
WO (1) | WO2017011176A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437568B1 (en) * | 2017-05-18 | 2019-10-08 | Palantir Technologies Inc. | Real-time rendering based on efficient device and server processing of content updates |
US10671383B2 (en) * | 2017-12-04 | 2020-06-02 | Oracle International Corporation | Inferring code deprecation from module deprecation |
US11062385B2 (en) * | 2018-08-21 | 2021-07-13 | International Business Machines Corporation | Providing code offerings inside code |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365153B2 (en) * | 2007-10-26 | 2013-01-29 | Qualcomm Incorporated | Server-based code compilation |
US9424339B2 (en) * | 2008-08-15 | 2016-08-23 | Athena A. Smyros | Systems and methods utilizing a search engine |
US20100146481A1 (en) * | 2008-12-09 | 2010-06-10 | Microsoft Corporation | Developing applications at runtime |
US8364696B2 (en) * | 2009-01-09 | 2013-01-29 | Microsoft Corporation | Efficient incremental parsing of context sensitive programming languages |
US10175848B2 (en) * | 2009-02-09 | 2019-01-08 | Nokia Technologies Oy | Displaying a display portion including an icon enabling an item to be added to a list |
US8352913B2 (en) | 2009-08-07 | 2013-01-08 | Adobe Systems Incorporated | Generating and resolving component names in an integrated development environment |
DE102009059939A1 (de) * | 2009-12-22 | 2011-06-30 | Giesecke & Devrient GmbH, 81677 | Verfahren zum Komprimieren von Bezeichnern |
US9298427B2 (en) * | 2010-01-06 | 2016-03-29 | Microsoft Technology Licensing, Llc. | Creating inferred symbols from code usage |
US20110296386A1 (en) * | 2010-05-28 | 2011-12-01 | Salesforce.Com, Inc. | Methods and Systems for Validating Changes Submitted to a Source Control System |
US20110302565A1 (en) * | 2010-06-07 | 2011-12-08 | Ferris Michael S | Implicit workspace dependencies |
US8635204B1 (en) * | 2010-07-30 | 2014-01-21 | Accenture Global Services Limited | Mining application repositories |
CN101968736A (zh) * | 2010-09-13 | 2011-02-09 | 杭州元睿信息技术有限公司 | 一种应用于Java到C++语言程序翻译中外部引用的翻译方法 |
US8584079B2 (en) * | 2010-12-16 | 2013-11-12 | Sap Portals Israel Ltd | Quality on submit process |
US20130326479A1 (en) * | 2012-06-01 | 2013-12-05 | Qnx Software Systems Limited | System and method for tracking compliance information for a build-system product |
WO2014041561A2 (en) * | 2012-08-31 | 2014-03-20 | Iappsecure Solutions Pvt. Ltd. | A system for analyzing applications accurately for finding security and quality issues |
US20140201709A1 (en) * | 2013-01-15 | 2014-07-17 | Martin Carl Euerle | JavaScript™ Deployment Build Tool for software code that uses an object literal to define meta data and system code. |
US8972975B1 (en) * | 2013-04-01 | 2015-03-03 | Google Inc. | Bounded installation time optimization of applications |
US9244658B2 (en) * | 2013-06-04 | 2016-01-26 | Microsoft Technology Licensing, Llc | Multi-step auto-completion model for software development environments |
US9244679B1 (en) * | 2013-09-12 | 2016-01-26 | Symantec Corporation | Systems and methods for automatically identifying changes in deliverable files |
CN105335137B (zh) * | 2014-07-23 | 2019-01-18 | 国际商业机器公司 | 用于处理源文件的方法和装置 |
US10210211B2 (en) * | 2014-08-26 | 2019-02-19 | Codota Dot Com Ltd. | Code searching and ranking |
US20160117154A1 (en) * | 2014-10-23 | 2016-04-28 | Telefonaktiebolaget L M Ericsson (Publ) | Automated software include graph and build environment analysis and optimization in compiled language |
US20160196204A1 (en) * | 2015-01-04 | 2016-07-07 | International Business Machines Corporation | Smart Validated Code Searching System |
US9612821B2 (en) * | 2015-07-02 | 2017-04-04 | International Business Machines Corporation | Predicting the success of a continuous software deployment pipeline |
-
2015
- 2015-07-10 US US14/796,695 patent/US10120679B2/en active Active
-
2016
- 2016-06-27 EP EP16735808.4A patent/EP3320430B1/en active Active
- 2016-06-27 KR KR1020177036265A patent/KR101990603B1/ko active IP Right Grant
- 2016-06-27 JP JP2017564873A patent/JP6568605B2/ja active Active
- 2016-06-27 DE DE202016008044.0U patent/DE202016008044U1/de active Active
- 2016-06-27 CN CN201680037594.0A patent/CN107810474B/zh active Active
- 2016-06-27 GB GB1720895.0A patent/GB2556481A/en not_active Withdrawn
- 2016-06-27 WO PCT/US2016/039561 patent/WO2017011176A1/en active Application Filing
- 2016-06-27 DE DE112016003130.0T patent/DE112016003130T5/de active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3032409B1 (en) | Transitive source code violation matching and attribution | |
CN105745647B (zh) | 调用路径查找器 | |
US9021241B2 (en) | Combined branch target and predicate prediction for instruction blocks | |
JP2019220141A (ja) | ソフトウェアバイナリのハイブリッドファズテストのための、分岐網羅によりガイドされる記号実行 | |
US20150324178A1 (en) | Hash-based change tracking for software make tools | |
JP2018519592A5 (ja) | ||
US10990073B2 (en) | Program editing device, program editing method, and computer readable medium | |
US10032204B2 (en) | System and method for synthetic ideation | |
JP2017522639A5 (ja) | ||
JP6568605B2 (ja) | 大規模ソースコードリポジトリにおける自動インポートおよびディペンデンシー | |
KR102161055B1 (ko) | 소프트웨어 파이프라이닝을 이용한 명령어 스케줄링 방법 및 장치 | |
US9335990B2 (en) | Method, a system, and a non-transitory computer-readable medium for supporting application development | |
US20150178075A1 (en) | Enhancing understandability of code using code clones | |
CN107562533B (zh) | 一种数据加载处理方法及装置 | |
US10423693B2 (en) | Parallel processing using a bottom up approach | |
Li et al. | SWAP: Parallelization through algorithm substitution | |
US20150082443A1 (en) | System to automate compliance with licenses of software third-party content | |
KR101673151B1 (ko) | 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치 | |
Yu | The coevolution of mobile os user market and mobile application developer community | |
US10620922B2 (en) | Compiler platform for test method | |
EP2482203A1 (en) | Electronic device and method for searching related terms | |
CN117827287A (zh) | 指令级并行调度方法、装置、电子设备及存储介质 | |
US9772824B2 (en) | Program structure-based blocking | |
KR101653686B1 (ko) | 서비스 플로우 제공 방법, 이를 수행하는 서비스 플로우 제공 서버 및 이를 저장하는 기록매체 | |
Mukherjee et al. | Static code analysis |